2024.2.8《安卓开发三》
创建对象内存分析
1.首先先在方法区把Demo01类的游戏额代码信息放进来。
2.主方法main()会被压入栈.。
3.一旦new会在方法区加载出Student这个类。
4.当等于通过Students A= new Students();生成一个A同学放入栈中(此时的A只是一个引用或者变量名)。
5.针对于这个对象A会在堆里面,通过这个模板new了一个A。
6.此时的action()方法其实调用了方法区中的action()方法,此时Students A= new Students();方法就完成了。
7.接下来给name、age进行赋值。
8.将方法区的Demo01中的常量池中的值丢个堆中A进行name和age的赋值,此时A.name = "代码贩子、"; A.age = 24;以及A.action();中的值就赋完了,此时这个对象A的堆中就有这些值了,此时就可以使用它了。
9.如果出现了同学B就相当于当等于通过Students A= new Students();生成一个A同学放入栈中(此时的A只是一个引用或者变量名)。
10.针对于这个对象A会在堆里面,通过这个模板new了一个B。
11.此时的action()方法其实调用了方法区中的action()方法,此时Students。 B= new Students();方法就完成了,此时后面的操作相同。