对象的初始化过程

时间:2022-07-10 14:15:29
/*
*对象的初始化过程
* */
public class StaticDemo {
//实例变量
private String name="宝马";
private int size=45;
//静态代码块
static{
System.out.println("我是静态代码块");
}
//自定义构造函数
StaticDemo(String name,int size){
System.out.println("我是构造函数");
System.out.println("我是"+name+","+"我是Size是"+size);
}
//构造代码块
{
System.out.println("我是构造代码块");
}
//普通方法
public void Output(){
System.out.println("我是"+name+","+"我是Size是"+size);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
StaticDemo s=new StaticDemo("丰田",60);
s.Output();
}
}

显示结果:

我是静态代码块
我是构造代码块
我是构造函数,我是丰田,我是Size是60
我是宝马,我是Size是45

分析:

当一个对象被初始化时:1、加载类到内存中;2、执行静态代码块(如果有的话);3、在堆内存中开辟空间,分配内存地址;4、在堆内存中建立对象的特有属性,并进行默认初始化;5、对属性进行显示初始化;6、对对象进行构造代码块初始化;7、对对象进行对应的构造函数初始化;