Java中new一个对象到底发生了什么?
程序员文章站
2024-03-12 15:11:44
...
代码如下:
public class Student {
private String name = "林青霞";
private int age = 27;
public Student() {
name = "刘意";
age = 30;
}
}
class StudentDemo {
public static void main(String[] args) {
Student s = new Student();
}
}
Student s = nev Student();做了哪些事情?
1、把Student. class文件加载到内存
2、在栈内存给s变量开辟一个空间”
3、在堆内存为学生对象申请一个空间
4、给成员变量进行默认初始化。null,0
5、给成员变量进行显示初始化。林青霞,27
6、通过构造方法给成员变量进行初始化。刘意,30
7、数据初始化完毕,然后把堆内存的地址值赋值给栈内存的s变量。