IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Day_07 面向对象第一重点(封装) -> 正文阅读

[移动开发]Day_07 面向对象第一重点(封装)

面向对象编程思想

思想 : 想法,思维方式  -> 思想决定行为

编程思想 : 编程时的一种思维方式 -> 决定了如何写代码
	//面向 : 重视,更看重
	面向过程 : 凡事必躬亲
	面向对象 : 自己的事情别人做, 懒人思维
	面向函数 : 基于面向对象的,面向对象的升级版
	面向切面 : 
	//高级的编程思想都是为编程提供遍历

面向对象编程思想: 自己的事情别人做, 懒人思维
	面向对象思想是基于面向过程编程思想的升级;

洗衣服:
	面向过程 : 泡一泡 -> 搓一搓 -> 扭一扭 -> 拧一拧 -> 晾一晾
	面向对象 : 买一台洗衣机 , 衣服搞里头 , 启动洗衣机  -> 对象 : 洗衣机
	
买电脑:
	面向过程 : 打车去广埠屯 -> 选配置 -> 和老板讨价还价 -> 打包带回宿舍
	面向对象 : 打开手机APP -> 选配置 -> 下单 -> 对象: 手机APP
	
面向对象思想的核心特点:
	1. 更符合平时的思维习惯
	2. 把复杂的问题简单化
	3. 把我们从执行者变成指挥者
	
服务员点单
万物皆对象 -> Thinking in Java(Java编程思想)
        
面试中面向对象问题回答:
	我理解的面向对象思维是更符合平时思维习惯的一种思维方式,它可以把复杂的问题简单化,可以把我们从执行者变成指挥者,Thinking in Java这本书中对面向对象思维描述用到了 万物皆对象;面试官您面试的整个过程涉及到了很多面向对象思维的应用,面试官您面试肯定是因为公司项目有了新的或者更多的需求,以您的实力完全可以一个人完成,但是您有更重要的工作需要去主持,所以老板就使用了您面试的功能来招聘一些具备开发功能的人例如我帮助您完成需求;面向对象思维在工作场景中的应用,应用时遇到的问题,如何解决的....

类和对象关系

: 类别,种类,类型 --> 一类事物 -> class   手机
对象 : 此类事物的实例 --> 此类事物中具体的某一个  我的手机  -> 具体使用的是对象

现有类还是现有对象??  肯定是先有类再有对象
	类相当于对象的模板

如何定义事物描述类

格式:
    public class 类名{// 事物的名称
		//属性 : 描述信息
        成员变量;
        //行为 : 功能 对象能做的事情
		成员方法;
    }

成员变量: 定义在类中方法外的变量 -> 每个对象都拥有自己的一份属性
	String name; //姓名属性
	
成员方法: 定义在类中方法外的方法(所有的方法都是成员方法) -> 对象们的行为共享的
    public 返回值类型 方法名(形参列表){
        //方法体;
        //return 返回值;
    }

如何使用事物描述类

在使用的地方创建对象!!: 是事物的抽象  对象: 此类事物的具体化(实例)
    
创建对象的格式:
	类名 对象名 = new 类名();

对象调属性/对象调方法 -->: . 

对象调用方法的执行流程图

请添加图片描述

成员变量和局部变量的区别

成员变量和局部变量的区别
        1. 在类中的位置不一样
            成员变量 : 类中方法外
            局部变量 : 方法内or方法的形参
        2. 作用域不一样
            成员变量 :  整个类中都有效
            局部变量 : 只在其定义的方法内有效
        3. 初始化值不一样:
            成员变量 : 有默认值
                整数 0  浮点数 0.0 字符 '\u0000' 布尔 false 所有的引用数据类型 null
            局部变量 : 没有默认值
        4. 生命周期不一样  成员变量活的比局部变量久
            成员变量 : 随着对象的创建而产生,随着对象的回收而死亡
            局部变量 : 随着方法的调用而产生,随着方法的执行完毕而死亡
        5. 在内存中的位置不同
            成员变量 : 堆中
            局部变量 : 栈中
            
       因为在类中的位置不同,导致作用域不同和导致在内存中的位置不同;
       因为在内存中的位置不同,导致初始化值不同和生命周期不同;     

private关键字

private : 访问权限修饰符 -> 私有的

作用位置:
	修饰 成员变量,成员方法

private 关键字的访问权限是 : 只能在本类中访问 //Java中最小的权限修饰符

public 最大的权限修饰符 //只要在当前模块中都可以使用

请添加图片描述

变量访问的就近原则

知识前提:
	1. 成员变量可以和局部变量同名 -> 局部和成员变量JVM会自动分辨
	2. 代码访问的远近关系 : 
			局部位置 < 本类成员位置 < 本类父类的成员位置

this

this 的作用: 	
	打破变量访问的就近原则,强制去访问 本类成员位置上的 变量/方法
	
this.变量名 : 强制访问本类成员位置上的变量
this.方法名(实际参数) : 强制访问本类成员位置上的方法 //不会使用,因为所有的方法都是成员方法

-----------------------------------------------------------------
this : 本类对象的引用
	哪个对象调用含有this关键字的方法.this关键字就代表那个对象
	
	this 是谁 : 照镜子
	对象调含有this关键字方法 -> 对象照镜子 镜子里面出现的哪个人就是this关键字现在代指的对象 
	
super : 本类父类对象的引用	

构造方法

构造方法 : 构建创造对象的方法叫构造方法  constructor
	方法 : 方法就是方法,封装了特定功能的代码块
	构造 : 构建 创造
	
构造方法的格式:
    public 类名(形式参数列表){
		方法体;
    }

构造方法的注意事项

    构造方法的注意事项:
        1. 构造方法没有返回值类型板块,构造方法调用完毕必然生成的是本类的对象
        2. 构造方法的方法名必须和类名一致 (大小写也要一致!)
        3. new 的本质是在创建对象,其实也是在调用构造方法
        4. 如果一个类中没有写任何构造方法,JVM默认赠送一个无参构造(没有形参的构造方法)
        5. 如果在一个类中写了任意一个构造方法,默认赠送的无参构造就不送了
        6. 构造方法也可以构成方法的重载
        7. 没有参数的构造称 无参构造,有参数的构造称 带参构造
        8. 有参构造可以在创建对象的同时给属性赋值

定义事物描述类

1. 私有所有的属性
2. 自动生成无参构造
3. 自动生成全参构造
4. 自动生成 getter and setter 方法 

//事物的行为根据需求来

//alt + insert

面向对象的三大特性

面向对象的三大特性 : 封装,继承,多态

今天学习的内容是 面向对象特性之封装
	循环 : 把重复的代码封装起来 -> 提高代码的复用性
	方法 : 把重复的功能封装起来 -> 提高代码的复用性,方法实现了数据传递
	private : 把属性私有保护起来 -> 提高了代码的安全性
	描述事物(定义事物描述类) : 把事物的属性和行为进行封装到类 -> 提高代码的多样性
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-01-16 13:11:02  更:2022-01-16 13:12:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:45:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码