ceacer 2 已发布 1月31号 分享 已发布 1月31号 java中extends和implements有优先级吗?你是否了解它们同时存在时有什么影响? 在Java中,extends表示继承的意思,子类拥有父类非 private 的属性、方法。implements表示接口的实现,当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。 当出现下面的情况,extends和implements的优先级哪个高?是BoyPeople继承了(GirlPeople implements People)还是(BoyPeople继承GrilPeople)后implements People? public class BoyPeople extends GirlPeople implements People 对这个问题,我们通过一个例子来说明: 背景介绍,先介绍已有的类、接口、抽象类: 首先定义一个接口: 接口定义 然后定义一个抽象类实现接口,由于GirlPeople是抽象类,所以可以不用实现所有的接口方法: 定义抽象类实现接口 定义一个男孩实体类,继承抽象类,并实现接口: 实体类 定义一个女汉子的实体类,继承抽象类,并实现接口: 女汉子实体类 问题描述: BoyPeople与TomBoy一样,都是继承了GirlPeople,并实现People。 这个时候,如果在People中增加一个方法。那么其他类该如何修改才能正确编译和运行? 原理分析: 1、People接口定义了三个方法 2、GirlPeople是抽象方法,实现了接口。因为它是抽象的,所以可实现接口中的部分方法。 3、TomBoy继承了GirlPeople并实现接口People。 People中的三个方法,TomBoy可以通过继承的方式从GirlPeople实现,也可以自己实现,但必须全部实现。 实验结果: BoyPeople与TomBoy一样,都是继承了GirlPeople,并实现People。 这个时候,如果在People中增加一个方法。则,需要修改GirlPeople增加这个方法的实现。或者分别在BoyPeople和Tomboy中都实现新增的方法 评论链接 在其他网站上分享 更多分享选项...
推荐帖
创建账户或登录以发表评论
您需要成为会员才能发表评论
创建一个帐户
在我们的社区注册一个新账户。很简单!
注册新账户登入
已有账户?在此登录
立即登录