构造代码块
package crud.entity;
import java.util.Date;
public class User {
private int uid;
private String naem;
private Date date;
//构造函数
public User(){
System.out.println("构造函数...");
}
//构造代码块
{
System.out.println("构造代码块...");
}
//静态代码块
static{
System.out.println("静态代码块...");
}
......
public static void main(String[] args){
User u = new User();
}
}
构造代码块的作用:
- 给对象进行初始化,对象一建立就运行,而且优先于构造函数执行。
构造函数的作用:
构造函数和构造代码块的区别:
- 构造代码块是给所有对象进行统一初始化;而构造函数是给对应的对象初始化。
- 构造代码块中定义的是不同对象共性的初始化内容。
静态代码块的作用:
- 随着类的加载而执行,只执行一次,并优先于主函数,用于给类进行初始化。
下面为 new 一个对象的执行步骤
User u = new User();
1、加载User.class
2、执行该类的static代码块,如果有的话,给User.calss初始化
3、在堆内存中开辟空间,分配内存地址
4、在堆内存中建立对象的特有属性,并进行默认初始化
5、对属性进行显示初始化
6、对对象进行构造代码块初始化
7、对对象进行对应的构造函数初始化
8、将内存地址赋给栈内存中的u变量
还没有评论,来说两句吧...