java接口的多实现可能遇到的问题与解决方法
实现类只需要重写一个抽象类方法。那么我通过实现类创建对象,调用tet()方法,大家知道我是调用接口a,还是接口b的吗?所以我们才需要重写默认方法,让我们可以确定调用的到底是哪个方法。即使遇到多个默认方法重名也是如此。
·
目录
接口中的多实现
public class 实现类名 implements 接口1,接口2,接口。。。{}
代码演示
public class A implements D,E{
}
作用:
可以实现多个接口中的方法。但是抽象类需要重写。
问题总结
1:多实现接口中多个接口的抽象方法名重复
实现类只需要重写一个抽象类方法
2:多实现接口中默认方法名重复
只需要重写一次默认方法就行
3:多实现类中默认方法与抽象方法重名
只需要重写一次抽象法啊就行
原理:
1:默认方法与接口方法重名
接口的实现类似于继承,将接口的内存空间地址引入到实现类中
举个例子:假如我们实现了两个接口
我们的实现类分别拥有接口a,接口b的内存地址,因为默认方法不需要实现重写,所以只需要重写抽象方法test一次。
2:默认方法重名
有很多朋友不理解,默认方法不是不需要实现重写的吗,为什么多个默认方法就需要进行重写一次?
那么我通过实现类创建对象,调用tet()方法,大家知道我是调用接口a,还是接口b的吗?
所以我们才需要重写默认方法,让我们可以确定调用的到底是哪个方法。即使遇到多个默认方法重名也是如此。
3:抽象类方法重名
假如抽象类重名,那么写多个抽象类与一个抽象类相比有什么区别吗?
聪明的你心中应该有了答案
更多推荐
已为社区贡献2条内容
所有评论(0)