一.各种变量的生命周期
- 局部变量在方法被调用时才被分配内存,方法执行结束就销毁
- 实例变量的生命周期依赖所属对象的生命周期
- 静态变量的生命周期依赖类的生命周期
二.类和对象的生命周期
- 类的生命周期从类的字节码被加载到内存中开始,到被卸载结束
- 对象的生命周期从被创建开始,到不被任何变量引用结束
三.用new关键字创建对象
通过new关键字创建对象时,Java虚拟机会为对象分配内存空间,对它的实例变I进行初始化,调用构造方法,最后返回对象的引用。
四.变量的初始化
Java语言要求变量遵循先定义,再初始化,再使用的规则。
1.成员变量的初始化
对于类的成员变量,不管程序有没有显式地对其进行初始化,Java 虚拟机会先自动将它初始化为默认值。对于静态变量,可以在声明时及静态代码块中进行显式初始化。对于实例变量,可以在声明时及构造方法中进行显式初始化。
2.局部变量的初始化
局部变量被声明之后,Java虚拟机不会自动给它初始化为默认值。因此对于局部变量必须先进行显式初始化,才能使用它。
五.隐含的默认构造方法
如果一个类中没有定义任何构造方法,这个类就拥有一个隐含的不带参的构造方法,方法体为空。