博客信息

面向对象之封装(内存中对象的初始化过程、对象调用成员过程)

发布时间:『 2019-05-21 11:18』  博客类别:java基础  阅读(586)

内存中对象的初始化过程

1、静态代码块初始化

2、默认初始化

3、构造代码块初始化

4、构造函数初始化

 

小李飞刀_面向对象


小李飞刀_面向对象


对象调用成员过程

调用实例成员的过程

1、person.class加载进jvm中,首先会在方法区/共享区/数据区开辟一片属于person的空间,里面会分为类成员、实例成员两部分;

2、当执行new pserson(zhangsan,20)时,会在堆内存中开辟空间初始化person的一个实例,并且将person的引用p存放在栈内存中;

3、p.setName被调用时,就调用了方法区中的setName方法,由于出现了临时变量name=lisi,所以会在栈内存中开辟一个空间,this.name=lisi,而这里的this指的就是p这个引用地址,然后就指向了堆内存中的具体对象。最后堆内存中的name就变成了lisi

 

 

调用类成员的过程

1、类成员的访问与是否创建实例对象无关,所以也就造成了,在内存中调用与堆内存无关;

2、其实就是main方法调用方法区中的类方法,改变方法区中的类成员变量

 

小李飞刀_面向对象







关键字:     Java基础       面向对象       内存  

备案号:湘ICP备19000029号

Copyright © 2018-2019 javaxl晓码阁 版权所有