学习日记——oop的三大特性
1.封装
(1)什么是封装
- 隐藏
- 方法
- 控制语句
(2)封装的步骤
- 如何隐藏 private
- 如何方法:setter /getter
- 如何控制语句:if判断
(3)实战训练
2.继承
(1)继承的原因
多类之间拥有多个相同的属性或方法
解决方式是:将相同的属性和方法抽取出来,封装到一个新的类中,并继承新的类
(2)继承的语法
关键字:extends
A extends B
核心要点:如果A extends B,则A是B的子类,B是A的父类
核心要点2:Java中一个雷只能继承一个父类
核心要点3:继承的关键字是extends
(3)super
- 定义:调用父类的成员
- 规范:
super只能出现在子类的方法和构造方法中
super调用构造方法时,只能是第一句
super不能访问父类的private成员
Super实战
- 调用父类构造器
- 调用父类属性
- 调用父类方法
(4)继承初始化
执行顺序:先执行父类的属性初始化,父类的构造器初始化,子类的属性初始化,子类的构造器初始化。(如果属性没有赋值,就没有初始化)
3.多态
(1)多态的定义
生活中:同一种操作,由于条件不同,产生的结果也不同
计算机中的多态:使用父类的引用指向子类的对象(用这个)
(2)多态三要素
- 编写具有继承关系的父类和子类
- 子类重写父类方法
- 使用父类的引用指向子类的对象
(3)多态的实现
使用父类作为方法形参实现多态
使用父类作为方法返回值实现多态
(4)多态的转型
向上转型
子类转换为父类 自动转换
向下转型
父类转换为子类 强制转换
(5)instanceof运算符
1.定义: Pet instanceof Dog 判断Pet类型是否属于Dog类型
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决