class Student{
private String name= "刘雯";
private int age=30;
public Student(){
name= "李健";
age=44;
}
//......
}
class StudentDemo{
public static void main(String[] args){
Student s= new Student();
}
}
问执行类的初始化过程:Student s = new Student() 时,在内存做了哪些事情?
(1)把Student.class文件加载到内存
(2)在栈内存为s变量开辟空间
(3)在堆内存为学生对象申请空间
(4)给学生的成员变量进行默认初始化。null,0
(5)给学生的成员变量进行显示初始化。刘雯,30
(6)通过构造方法给成员变量进行初始化。李健,44
(7)对象构造完毕,然后把堆内存的地址赋给栈内存的s变量(s指向了堆内存的一块空间)。