为了账号安全,请及时绑定邮箱和手机立即绑定

Java:如何从超类访问 Sub 类方法的实现

Java:如何从超类访问 Sub 类方法的实现

万千封印 2022-08-03 16:35:22
我需要理解这一点,现在我已经弄清楚了这一点,我想我应该把它放在那里,也许可以帮助某人:如何访问超类内部子类提供的方法的实现?考虑这样一种情况,即您正在一个类中实现一个方法,该方法最终将由其他类扩展。您的类需要的信息仅在子类在运行时提供后才可用。如何使用在运行时可用的方法?
查看完整描述

1 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

请考虑以下事项:


public interface Animal {


    bool isVertebrate();

    bool isDomesticable();  

}

和一个实现此接口的抽象类:


abstract class Cat implements Animal {


public bool isVertebrate() {return true;}


public void dealWithCat(){

if (isDomesticable()){

 ...

   }

}

但是 的实现被委托给子类:isDomesticable


public class Tiger extends Cat {


public bool isDomesticable(){

return false;

}

由于 Cat 是 ,因此无法实例化。它可以自由地为某些接口方法提供实现,但不必为每个方法提供它。它不提供实现的方法必须由子类提供。在运行时,超类中的方法从子类获取实现。因此,在我们的示例中,的实现不是由 Cat 提供的,而是由 Tiger 稍后实现的。abstractisDomesticable()


查看完整回答
反对 回复 2022-08-03
  • 1 回答
  • 0 关注
  • 215 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号