如图所示 简单的概念问题 不胜感激!!!

来源:2-17 super关键字的使用(下)

DeathHunk

2020-05-30 11:07:47

http://img.mukewang.com/climg/5ed1cdf80812968319421030.jpg

写回答

2回答

好帮手慕小尤

2020-05-30

同学你好,重写方法的返回类型可以是父类方法返回类型的子类。如下所示:

http://img.mukewang.com/climg/5ed1f19309219e3604530253.jpg

http://img.mukewang.com/climg/5ed1f1a40912854306100230.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

苍星乱舞

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

2

0 学习 · 11489 问题

查看课程