如图所示 简单的概念问题 不胜感激!!!
来源:2-17 super关键字的使用(下)
DeathHunk
2020-05-30 11:07:47
2回答
同学你好,重写方法的返回类型可以是父类方法返回类型的子类。如下所示:
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
苍星乱舞
2020-05-30
class Animal{ public 类型1 findFood(){ return 类型1对象; } }
class Cat extends Animal{ public 类型2 findFood(){ return 类型2对象; } }
比如说Cat要重写Animal的觅食方法,
原本的Animal 的 findFood方法返回的 类型1可以是设置为 Fruit 表示觅食了一个Fruit类对象
那你Cat类重写 的 findFood方法的返回值类型2可以设置为和父类中的相同(Fruit),表示觅食的也是一个Fruit类对象,也可以是Apple(假设Apple extends Fruit),表示觅食了Apple类对象。
此时你可以继承理解为扩展,因为extends的直译就是扩展
那么Cat要扩展Animal类的功能,就不能实现比Animal类更弱的功能,Animal能觅食到Fruit类对象,那么Cat不仅能觅食到Fruit类对象,还能觅食到Fruit类的扩展类Apple
相似问题