浅谈对象

对象特征:

  • 封装:封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。使用几个权限控制,public private protect等,可以限制对属性的不合理操作。对于方法的封装可以让使用者按照既定的方式调用方法,不必关系方法内部的实现。增加了代码的可维护性和复用性。
  • 继承:继承是从已有的类中派生出新的类,新的类可以吸收已有类的数据和行为,并能够扩展新的能力。在本质上他是特殊和一般的的关系,也就是is-a关系。继承避免了一般类和特殊类之间共同特征进行的重复性描述。增加了代码的复用性。
  • 多态:实现多态的三个条件:继承,方法重写,父类引用指向子类对象。多态指的是多种状态,他指的是类和类之间的关系。增加了代码的灵活性,健壮性,可移植性。

 

对象在内存中的布局:
普通对象:对象头(markword,类型指针),实例数据,对齐填充
数据对象:对象头(markword,类型指针,数组长度,实例数据,对齐填充

 

markword记录了哪些信息?
记录了锁信息,hashCode,以及垃圾回收信息

 

对象创建过程:
1:检查类是否已经被加载;
2:为对象分配内存空间;
3:为对象字段设置零值;
4:设置对象头;
5:执行构造方法。

posted @   雪域飞魂  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示