Java对象的重构和内存理解
2018-05-29 本文已影响0人
疯帮主
源码
class Demo2_Constructor{
public static void main(String[] args){
//创建一个Person对象,
Person p1 = new Person();
p1.show();
Person p2 = new Person("郭靖", 99);
p2.show();
}
}
class Person{
//成员变量一般私有,安全
private String name;
private int age;
// 空参构造方法
public Person(){
System.out.println("对象Person空参构造初始化中...");
System.out.println("对象Person空参构造初始化完成");
}
// 有参构造方法,如果给了有参构造,必须给无参构造,不然系统不会建立无参构造
public Person(String name, int age){
System.out.println("对象Person有参构造初始化中...");
this.name = name;
this.age = age;
System.out.println("对象Person有参构造初始化完成");
}
//显示
public void show(){
System.out.println(name + " : " + age);
}
}
输出
H:\Code\Java\learn\07day>java Demo2_Constructor
对象Person空参构造初始化中...
对象Person空参构造初始化完成
null : 0
对象Person有参构造初始化中...
对象Person有参构造初始化完成
郭靖 : 99
1. 加载类到方法区
image.png2. 加载主类到栈内存
image.png3. 创建p1对象,调用空参构造,弹出
image.png4. 创建p2对象,调用有参构造,弹出
image.png这是我的理解,不足的地方望指出