Java面向对象三大特性
Java面向对象三大特性
封装、继承和多态
1.封装
在一个类中,很多属性是不想让外界知道的,或者只能通过特定的方法获得或填写,这就是类的封装。可以利用set和get方法对属性进行操作。
封装的作用:
- 封装事务复杂性,提高简单的入口。
- 封装之后才能形成真正的“对象”。
- 封装意味着以后的程序可以重复使用,适应性强。
- 封装
2.继承
类可以继承其他类,获得其他类的属性和方法,被继承的类叫父类,继承的类叫做子类。
3.多态
多态即同一个方法可以根据发送对象的不同而采用多种不同的行为方式。
一个对象的实际类型是确定的,但可以指向对象的应用类型是很多的。
多态存在的条件:
- 有继承关系
- 子类重写父类方法
- 父类引用指向子类对象。
注意:多态是方法的多态,属性没有多态性。
方法:instanceof 引用类型,判断一个对象是什么类型
类型转换:
- 向上转型(自动转型):子类转父类
- 向下转型(强制转换):父类转子类
Animal cat = new cat();
Animal cat为静态绑定,确定类型,方法确定。
new cat()为确定实现对象动态绑定,方法实现。
正因为编译阶段机制和运行阶段机制导致多态语法存在。
首先要通过编译阶段确定方法名称,在通过运行阶段确定方法实现。(必须编译通过,才可以进行运行)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?