技术问 - 类的初始化过程
2019-03-06 本文已影响0人
sexyhair
类的初始化过程:
加载class文件
在栈中开辟空间
在堆中申请(new)空间
成员变量的初始化的默认初始化
成员变量的初始化的显示初始化
构造方法初始化
给对象地址值
代码:
/**
* 成员变量与构造方法
*/
public class Student2 {
// 成员变量
String name = "name的显示初始化值";
int age = 1;
String sex = "sex的显示初始化值";
public void setName() {
this.name = "通过构造给name赋值";
}
}
public class ClassDemo1 {
public static void main(String[] args) {
Student2 stu = new Student2();
}
}
在内存中的执行过程:
类的初始化过程
创建对象并赋值在内存中的过程:
/**
*创建对象并赋值对应的代码
*成员变量与成员方法
*/
public class ClassDemo1 {
public static void main(String[] args) {
Student stu = new Student();
System.out.println(stu.name);//null
System.out.println(stu.age);//0
System.out.println(stu.sex);//null
stu.name = "你好";
System.out.println(stu.name);//你好
stu.setName("你好11");
System.out.println(stu.name);//你好11
}
}
创建对象并赋值
说明:图中第三步在内存中详细的过程即是 “类的初始化过程”