1.对于实例变量,该类没创建一次实例,就需要为实例变量分配一块内存空间;
2.程序通过Person对象来访问eyeNum类变量时,底层依然会转换为通过Person访问eyeNum类变量;
3.当Person类初始化完层之后,(静态变量)类变量也随之初始化完成,以后不管程序创建多少个Person对象,系统不再为eyeNum类变量(静态变量)分配内存;但程序每创建一个Person对象,系统将再次为实例变量(非静态变量)分配内存,并执行初始化;
4.程序中3个地方对实例变量执行初始化:
1)定义实例变量时指定初始值;
2)非静态初始化块中对实例变量指定初始值;
3)构造器中对实例变量指定初始值;
相关文章
- Java学习笔记(一)对象数组的初始化
- 关于java类初始化顺序的学习笔记
- Java学习笔记(十三):关于子类初始化的过程
- Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
- 对于Java静态成员变量和非静态成员变量的一些学习方法
- 分析java类的静态成员变量初始化先于非静态成员变量
- Effective Java (4) 通过私有构造器强化不可实例化的能力
- 学习effective java-4创建和销毁对象之利用私用构造方法强化类的非实例化
- [Effective Java Distilled] Item 4 通过私有构造方法来加强化不可实例化的性质
- Effective Java第四条:通过私有构造器强化不可实例化的能力