什么是多态
多态包含哪两种
重载也属于多态
怎么实现多态(有3个条件)
父类引用指向子类对象是什么意思
重写/覆盖/复写是什么,有什么特征
向上转型是什么(代码和文字分别表达)
怎么理解
Animal animal = new Dog( name : "旺财",age :10)
此时可以通过 animal 来访问 Dog 类中的 bark 方法吗
父类引用只能调用自己的方法
运行时绑定/动态绑定时什么意思,在什么时候会发生
运行时绑定/动态绑定发生的前提条件
动态绑定不一定需要向上转型,还可以通过接口引用指向实现类对象、使用抽象类引用指向子类对象、同一类中的方法重载与动态绑定
静态绑定/编译时绑定是什么意思
什么时候会发生静态绑定/编译时绑定
向上转型有3种方式
重写针对的对象是什么
方法重写的规则有哪些
当返回值类型构成协变类型(返回值类型构成父子类关系),也是可以构成重写的(其实也可以认为返回值一样)
重写的访问修饰限定符的限制
要求子类的访问修饰限定符类型限定范围不小于父类的访问修饰限定符限定类型
被 private 修饰的方法不能被重写
静态方法不能被重写
被 final 修饰的方法也不能被重写
构造方法不能被重写
@Verride 注解可以帮助我们检查是否构成重写
重写与重载的区别(参数列表、返回类型、访问修饰限定符)
什么叫向下转型
向下转型的弊端(会出现类型转换异常ClassCastException)
为了保证向下转型的安全性,需要加运算符
运行结果为
instanceof关键字的用法
重写的快捷键(有两种方法)
多态的优点
圈复杂度的概念
不用多态与用多态的对比
下述写法的区别,哪种好
为什么要避免在构造方法中调用重写的方法