- 一、类和对象
- 1.1 什么是对象
- 1.2 什么是面向对象
- 1.3什么是类
- 1.4 什么是对象的属性
- 1.5 什么是对象的行为
- 1.6 类和对象的关系
- 1.7 类的定义
- 1.8对象的使用
- 二、对象内存图
- 2.1 对象内存图(单个对象)
- 2.2 对象内存图(多个对象)
- 2.3对象内存图(多个对象指向相同)
- 三、成员变量和局部变量
- 3.1 什么是成员变量和局部变量
- 3.2 成员变量和局部变量区别
- 四、封装
- 4.1 private关键字
- 4.2 this关键字
- 4.3 this内存原理
- 4.4 封装
- 五、构造方法
概念:万事万物皆对象,客观存在的事物皆为对象。
1.2 什么是面向对象面向对象顾名思义就是把现实中的事务都抽象成为程序设计中的“对象”,其基本思想是—切皆对象,是—种“自下而上"的设计语言,先设计组件,再完成拼装。
1.3什么是类类是对现实生活中一类具有共同属性和行为的事物的抽象。
类的特点:
类是对象的数据类型
类是具有相同属性和行为的一组对象的集合
1.5 什么是对象的行为属性:对象具有的各种特征,每个对象的每个属性都拥有特定的值
1.6 类和对象的关系行为:对象能够执行的操作
类是对象的抽象
对象是类的实体
1.8对象的使用类的组成:属性和行为
属性:在类中通过成员变量来体现(类中方法外的变量)
行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)
如:
public class 类名 {
// 成员变量
变量1的数据类型 变量1;
变量2的数据类型 变量2;
…
// 成员方法
方法1;
方法2;
}
分为创建和使用对象
调用类中的属性时,程序的内存流程如图所示:
要注意当调用类中的方法时,方法不会进入堆内存中,在程序调用完方法后栈内存将会自动释放掉刚刚调用过的方法。
对象的内存图和数组那里的内存图是有些相似的,可以结合起来理解,但是在多个对象指向相同时是与自前的数组不一样的,需要注意。
成员变量:类中方法外的变量
局部变量:方法中的变量
图中的 name、age属于成员变量;i、j属于局部变量。
作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问
4.2 this关键字针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作
提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰
提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰
this修饰的变量用于指代成员变量
方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量。
方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量。
什么时候使用this呢?解决局部变量隐藏成员变量
this:代表所在类的对象引用
记住:方法被哪个对象调用,this就代表哪个对象
this指向的是栈内存里的地址。
这里就先给大家简单的介绍一下封装,因为会在之后频繁的用到和接触,所以,之后会专门写一篇博客来进行介绍。
-
封装概述
是面向对象三大特征之一(封装,继承,多态)
是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的。 -
封装好处
通过方法来控制成员变量的操作,提高了代码的安全性
把代码用方法进行封装,提高了代码的复用性
构造方法是一种特殊的方法
作用:创建对象
格式:
public class 类名{
修饰符 类名( 参数 ) {
}
}
功能:主要是完成对象数据的初始化
参考大佬详解里面详细介绍了构造方法,通俗易懂。