6. 标准 JavaBean
6.1 标准的JavaBean类
1 类名需要见名知意
2 成员变量使用private修饰
3 提供至少两个构造方法
无参构造方法
带全部参数的构造方法
4 成员方法
提供每一个成员变量对应的SetXxx()/getXxx()方法.
如果还有其他行为,也需要写上
7. 对象内存图
7.1 一个对象的内存图
Student s = new Student();
1.加载class文件(进入方法区)
2. 申明局部变量(栈内存)
3 在堆内存中开辟一个空间(堆内存)
4 默认初始化
5 显示初始化
6 构造方法初始化
7 将堆内存中的地址值赋值给左边的局部变量
7.2 两个对象的内存图
第二次创建对象时,不需要再加载class文件到方法区,其余操作一致。
7.3 两个引用指向同一个对象
Student s1 = new Student();
Student s2 = s1;
将s1里面的地址值,赋值给s2
两个变量指向了同一个对象
此时堆内存仅有一个对象
s1 = null;
将s1指向的地址值赋值为0,即空指向。
8 基本数据类型和引用数据类型
8.1 传统角度
基本数据类型:四类8种 整数类型(byte、short、int、long)
浮点数类型(float、double)
布尔类型(Boolean)
字符类型(char)
引用数据类型:除了左边的其他所有类型
8.2 内存的角度来看
基本数据类型:数据值存储在自己的空间里。
特点:赋值给其他变量,也是赋的真实的值
引用数据类型:数据值是存储在其他空间中,自己空间中存储的是地址值。
特点:赋值给其他变量,赋的是地址值。
9 this的内存原理
this的作用:区分局部变量和成员变量。
this的本质:所在方法调用者的地址值。
10 成员变量和局部变量
成员变量:类中方法外的变量
局部变量:方法中的变量
区别:
1.类中位置不同
成员变量:类中、方法外;局部变量:方法内,方法申明上
2.初始化值不同
成员变量:有默认初始值;局部变量:没有,使用之前需要完成赋值
3.内存位置不同
成员变量:堆内存;局部变量:栈内存
4 生命周期不同
成员变量:随着对象的创建而存在,消失而消失
局部变量:随着方法的调用而存在,随着方法的运行结束而消失
5 作用域
成员变量:整个类中有效
局部变量:当前方法中有效
标签:变量,成员,局部变量,数据类型,面向对象,概述,内存,方法 From: https://blog.csdn.net/m0_57132040/article/details/143492620