问答

关于java抽象类继承的问题

作者:admin 2021-07-26 我要评论

假设A是抽象类,B是A的子类,C是B的子类。A中有run()方法,B中进行了@Override重写,C也对run()方法进行了重写。 C中重写的run()是重写的B中的run方法还是A中的ru...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

假设A是抽象类,B是A的子类,C是B的子类。A中有run()方法,B中进行了@Override重写,C也对run()方法进行了重写。
C中重写的run()是重写的B中的run方法还是A中的run方法?

###

理论上,C同时重写了A和B的run方法,因为你把C实例赋值给A类型的引用,然后调用A类型引用的run方法,实际调用的是C.run,说明C重写了A的run方法。

同样的,你把C实例赋值给B类型的引用,然后调用B类型引用的run方法,实际调用的是C.run而不是B.run,说明C重写了B的run方法。

这是java的特点,@Override会重写所有父类的相同签名的方法。

###

重写谁的run有区别嘛...
如果一定要说的话当然是B的

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 古纳于vue按下拖动元素

    古纳于vue按下拖动元素

  • Angular 项目编译并部署生产模式

    Angular 项目编译并部署生产模式

  • element-ui   表达验证时的问题

    element-ui 表达验证时的问题

  • iOS 中的静态库的作用是什么?

    iOS 中的静态库的作用是什么?

腾讯云代理商
海外云服务器