我试图了解Java为什么如此工作。
假设我有:
界面-IAnimal
抽象类-哺乳动物
具体课程-狗
Mammal实现IAnimal和Dog扩展Mammal。
Mammal声明并实现该方法breastFeed()(当然Animal,没有此签名,因为并非每只动物都是哺乳动物)
现在,我想创建一个dog对象,该接口将以这种方式引用此dog:
IAnimal dog = new Dog();
在运行时的某个地方,我可能想使用该breastFeed方法,但是dog对象无法识别该方法。
一种解决方案是在Dog类中实现此方法。其他解决方案是Dog从Abstract类进行引用,该类实现了接口,在这种情况下,我将所有内容都交给dog对象。
我发现这些解决方案是混乱而又怪异的。有什么想法吗?也许我错过了一些东西,并且有一些更好更清洁的解决方案?
哆啦的时光机
慕哥9229398
天涯尽头无女友
回首忆惘然
随时随地看视频慕课网APP
相关分类