看一个案例
class Person{//类Person
int aga = 90;
String name;
Person(String n, int a){//构造器
name = n;//给属性赋值
age = a;//...
}}
Person p = new Person("小倩",20);
流程分析(面试题)
- 加载Person类信息(Person.class),只会加载一次
- 在堆中分配空间(地址)
- 完成对象初始化【3.1 默认初始化 age = 0,name = null 3.2显式初始化 age = 90,name = null, 3.3 构造器初始化 age = 20,name = "小倩】
- 将对象在堆中的地址,返回给p(p是对象名,也可以理解成是对象的引用)