目录

接口中的多实现

代码演示 

作用:

问题总结

1:多实现接口中多个接口的抽象方法名重复

2:多实现接口中默认方法名重复

3:多实现类中默认方法与抽象方法重名

原理:

1:默认方法与接口方法重名

2:默认方法重名

3:抽象类方法重名


接口中的多实现

public class 实现类名 implements 接口1,接口2,接口。。。{}

代码演示 

public class A implements D,E{
}

作用:

可以实现多个接口中的方法。但是抽象类需要重写。

问题总结

1:多实现接口中多个接口的抽象方法名重复

 

 实现类只需要重写一个抽象类方法

2:多实现接口中默认方法名重复

 只需要重写一次默认方法就行

3:多实现类中默认方法与抽象方法重名

只需要重写一次抽象法啊就行

原理:

1:默认方法与接口方法重名

接口的实现类似于继承,将接口的内存空间地址引入到实现类中

举个例子:假如我们实现了两个接口 

 

我们的实现类分别拥有接口a,接口b的内存地址,因为默认方法不需要实现重写,所以只需要重写抽象方法test一次。

2:默认方法重名

 有很多朋友不理解,默认方法不是不需要实现重写的吗,为什么多个默认方法就需要进行重写一次?

那么我通过实现类创建对象,调用tet()方法,大家知道我是调用接口a,还是接口b的吗?

 所以我们才需要重写默认方法,让我们可以确定调用的到底是哪个方法。即使遇到多个默认方法重名也是如此。

3:抽象类方法重名

假如抽象类重名,那么写多个抽象类与一个抽象类相比有什么区别吗?

聪明的你心中应该有了答案

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐