class Person{
private String name = “haha”;
private int age = 10;
{
System.out.println(name + “***” + age);
naem = “hello”;
age = 20;
System.out.println(name + “***” + age);
}
//get… set…
}
Person p = new Person();
System.out.println(p.getName() + “***” + p.getAge());
A:把 Person.class文件加载到内存 (类加载器 )
B:在栈内存开辟一个变量空间,给 p使用
C: new Person()就会在对内存中开辟空间
D:方法进方法区,有类名做标记,并且,同时成员变量进堆内存并给出了默认初始化值
name:null
age:0
E:对成员变量进行显示初始化 (是因为定义成员变量的时候给赋值了 public int age = 34;)
name:hello
age:20
F:如果有构造代码块,可以在构造代码块中对成员变量赋值
name :world
age:30
H:到此为止,对象初始化完毕
I :把堆内存对象的首地址赋值给栈内存的 p变量 |
|