第十天
super引用
- -表示当前直接父类的对象的引用(父类的对象)
- -当创建一个类的对象的时候会先创建其父类的对象
- -1、可以使用super来调用父类的构造器
- -2、可以调用父类的方法以及属性
注意:super也是一个引用,所以也不能在static修饰的方法中使用
初始化以及初始化块(静态与非静态)
- -初始化块的作用是用于在类加载或者创建对象时,可以设置一些固定的初始化操作(初始化成员变量、执行其他类的加载)
- -静态初始化块只执行一次(类加载时),非静态初始化块每创建一个对象就执行一次
- -静态初始化块-->非静态初始化块-->构造器
思考:如果初始化块在继承链中,又是怎么样?
- -父类静态初始化块-->子类静态初始化块-->父类非静态初始化块-->父类构造器-->子类非静态初始化块-->子类构造器
多态
前提条件:父类的引用 指向 子类的对象
子类重写父类的方法
当前提条件都满足了,则在调用方法时会显示出子类的行为特征
a b=new c();
编译时类型(a)运行时类型(b)
b.d();
使用父类的变量进行调用方法
b实质上是c的对象,而且c重写d方法所以就会显示子类的行为特征
b实质上是c的对象,但是c没有重写d方法所以就不会显示
引用类型的转换
- -子类型可以赋值给父类的引用变量
- -当引用变量进行向下转换时,要注意类型是否兼容,可以通过instanceof关键字进行判别
instanceof关键字
- - 判断变量中的对象是否为某个类或子类的对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结