相关视频:new关键字执行过程图解
new关键字到底做了哪些事情?
Person p = new Person();
1、首先在堆内存开辟了一块空间
a、隐式初始化成员变量为默认值
b、显式初始化成员变量
2、调用Person类的构造方法
3、把堆内存生成的地址返回到接受者
public class Test1 {
public static void main(String[] args) {
Person person = new Person("李四", 35);
System.out.println(person.toString());
}
}
class Person {
private String name = "张三";
private int age = 23;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}