先进入方法区:
主方法main进入→ 栈内存
占内存调入→创建类中 变量 及创建的 方法
new出来的新对象 进入→堆内存
根据地址值并打印:
栈内存 调用 堆内存 调用 方法区 打印到控制台(new出来的进入堆内存)
变量赋值打印:
最后打印 创建类中的方法:
最最后 方法先弹出 最后main弹出 从上往下依次弹出 最后调用的先弹出:
-------------------------------------------------------------------------------------------------------------------------------
多个对象内存图:
两个引用指向同一个对象内存图,会发生什么?
成员变量和局部变量:
成员变量和局部变量的区别
-
类中位置不同:成员变量(类中方法外)局部变量(方法内部或方法声明上)
-
内存中位置不同:成员变量(堆内存)局部变量(栈内存)
-
生命周期不同:成员变量(随着对象的存在而存在,随着对象的消失而消失)局部变量(随着方法的调用而存在,醉着方法的调用完毕而消失)
-
初始化值不同:成员变量(有默认初始化值)局部变量(没有默认初始化值,必须先定义,赋值才能使用)