1.成员变量系统默认赋值
对于成员变量没有手动赋值,系统会默认赋值(缺省值)
类型 | 默认值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0F |
double | 0.0 |
boolean | false |
char | \u000 |
引用数据类型 | null |
2.实例变量
成员变量包括:实例变量、静态变量
对象又被称为实例,实例变量实际上就是:对象级别的变量
public class Star{
double height;
}
不可以通过类名直接访问实例变量,需要一个实例对象
Student.name // 错误
3.JVM内存图
- 不要体现代码
- 按顺序画
- 内存图是对JVM运行机制的一种理解
4.对象与引用的区别
- 对象是通过new出来的,在堆内存中存储
- 引用是局部变量,在栈内存中,保存了指向堆内存中对象的内存地址
5.访问、修改实例变量
引用.实例变量名 = 数值;
6.空指针异常
空引用访问实例【对象相关】的数据,即引用保存的内存地址没了(null.userAge)
垃圾回收器GC:主要针对堆内存,当一个java对象没有任何一个引用指向该对象时,GC会考虑将垃圾数据释放回收
7.方法调用时参数传递问题
参数传递时,和类型无关,统一将盒子中保存的那个“值”复制一份,传递下去。引用中保存的内存地址也是值
8.构造方法
格式:
[修饰符列表] 构造方法名 (形式参数列表){
构造方法体;
//通常在构造方法体中给属性赋值,完成相属性的初始化
}
- 通过构造方法可以完成对象的创建,以及实例变量的初始化。实例变量没有手动赋值时,系统会使用默认值,是在构造方法执行过程中完成初始化的(赋值)【创建对象的时候】
- 当一个类没有提供任何构造方法时,系统会提供一个无参的构造器(缺省构造器),通过new运算符来调用构造方法
- 当一个类中手动提供了构造方法,系统将不再提供无参构造方法,建议手动添加无参构造方法,无参和有有参构造方法都可以调用,可以方法重载
传送门
上一章:JavaSE基础 第八章 认识面向对象
下一章:JavaSE基础 第十章 封装