静态代码块:
static {
随类的加载而执行;仅执行一次
作用,给类进行初始化。
}
//在静态变量进行显示初始化之后执行。
构造代码块;(在类中)
{
创建对象就会执行,给所有对象初始化,
构造函数只给对应的对象进行针对性的初始化;
}
局部代码块(在函数中)
{
控制局部变量的生命周期;
}
构造函数内的隐式部分;
1,super();访问父类的构造函数。
2,成员变量的显示初始化,
3,构造代码块初始化。
对象创建过程:
1,加载Demo.class文件进方法区,并进行空间的分配;
2,静态变量,先默认初始化,显示初始化;
3,静态代码块,仅执行一次。
4,通过new在堆内存中开辟空间,并明确首地址值;
5,对对象中的属性进行默认初始化;
6,调用对应的构造函数进行初始化。
7,构造函数内部
7.1调用父类构造函数super();
7.2成员变量的现实初始化。
7.3构造代码块初始化。
7.4构造函数内部自定义内容初始化。
8,对象初始化完毕后,将地址赋给引用变量;
|
|