创建对象内存分析
public class Test{//1
public static void main(String[] args) {
Pet dog =new Pet();//2
dog.name="张三";//4
dog.age=5;//4
dog.eat();//4
}
}
public class Pet{//3
String name;
int age;
public static void eat(){
System.out.println("吃");
}
}
main方法在栈中
真正的对象是在堆中的
通过对象名.属性从方法区(常量池)赋值给name和age
堆中的shout方法去调用了方法区中的shout