浅谈对象
对象特征:
- 封装:封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。使用几个权限控制,public private protect等,可以限制对属性的不合理操作。对于方法的封装可以让使用者按照既定的方式调用方法,不必关系方法内部的实现。增加了代码的可维护性和复用性。
- 继承:继承是从已有的类中派生出新的类,新的类可以吸收已有类的数据和行为,并能够扩展新的能力。在本质上他是特殊和一般的的关系,也就是is-a关系。继承避免了一般类和特殊类之间共同特征进行的重复性描述。增加了代码的复用性。
- 多态:实现多态的三个条件:继承,方法重写,父类引用指向子类对象。多态指的是多种状态,他指的是类和类之间的关系。增加了代码的灵活性,健壮性,可移植性。
对象在内存中的布局:
普通对象:对象头(markword,类型指针),实例数据,对齐填充
数据对象:对象头(markword,类型指针,数组长度,实例数据,对齐填充
markword记录了哪些信息?
记录了锁信息,hashCode,以及垃圾回收信息
对象创建过程:
1:检查类是否已经被加载;
2:为对象分配内存空间;
3:为对象字段设置零值;
4:设置对象头;
5:执行构造方法。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)