我是靠谱客的博主 儒雅冰淇淋,这篇文章主要介绍关于Java中实现多个接口,并且多个接口中默认方法一样的问题先来看一下实现多个正常接口,多个接口中定义的方法一样实现多个接口,多个接口中定义的默认方法一样实现多个接口,多个接口中定义的静态方法一样,现在分享给大家,希望可以做个参考。

关于Java中实现多个接口,并且多个接口中默认方法一样的问题

  • 先来看一下实现多个正常接口,多个接口中定义的方法一样
  • 实现多个接口,多个接口中定义的==默认方法==一样
        • 实现一个接口时
          • 实现两个接口时(用图片展示)
  • 实现多个接口,多个接口中定义的==静态方法==一样

先来看一下实现多个正常接口,多个接口中定义的方法一样

Interface1.java

复制代码
1
2
3
4
5
public interface Interface1 { public void test(); }

Interface2.java

复制代码
1
2
3
4
5
public interface Interface2 { public void test(); }

实现类中只需要实现一个

复制代码
1
2
3
4
5
6
7
8
public class TestInterface implements Interface1, Interface2 { @Override public void test() { } }

实现多个接口,多个接口中定义的默认方法一样

默认方法必须有方法体。

Interface1.java

复制代码
1
2
3
4
5
6
7
public interface Interface1 { public default void test() { System.out.println("接口1中的默认方法"); } }

Interface2.java

复制代码
1
2
3
4
5
6
7
public interface Interface2 { public default void test() { System.out.println("接口2中的默认方法"); } }

看下实现类

实现一个接口时
复制代码
1
2
3
4
public class TestInterface implements Interface1 { }

实现一个接口时不去实现方法是不会报错的(你也可以去重写接口中定义的默认方法)

实现两个接口时(用图片展示)

在这里插入图片描述
所以如果同时实现两个接口,接口中定义了一样的默认方法,则必须重写,不然会报错

实现多个接口,多个接口中定义的静态方法一样

Interface1.java

复制代码
1
2
3
4
5
6
7
public interface Interface1 { public static void test() { System.out.println("接口1中的静态方法"); }

Interface2.java

复制代码
1
2
3
4
5
6
7
public interface Interface2 { public static void test() { System.out.println("接口2中的静态方法"); }

实现类(实现两个接口,图片展示)
在这里插入图片描述
不会报错,但是实现类和它的实现都不能调用接口的静态方法
在这里插入图片描述
总结:在 JDK8 中,接口也可以定义静态方法,可以直接用接口名调用。实现类和实现是不可以调用的。如果同时实现两个接口,接口中定义了一样的默认方法,则必须重写,不然会报错。

最后

以上就是儒雅冰淇淋最近收集整理的关于关于Java中实现多个接口,并且多个接口中默认方法一样的问题先来看一下实现多个正常接口,多个接口中定义的方法一样实现多个接口,多个接口中定义的默认方法一样实现多个接口,多个接口中定义的静态方法一样的全部内容,更多相关关于Java中实现多个接口,并且多个接口中默认方法一样内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部