美文网首页Java 杂谈
教你在Java接口中定义方法

教你在Java接口中定义方法

作者: 7e86aaa7b08a | 来源:发表于2019-08-22 13:43 被阅读5次

基本上所有的Java教程都会告诉我们Java接口的方法都是public、abstract类型的,没有方法体的。

但是在JDK8里面,你是可以突破这个界限的哦。

假设我们现在有一个接口:TimeClient,其代码结构如下:

接下来,SimpleTimeClient类实现了TimeClient接口,具体代码如下:

随着TimeClient的变化,你不得不修改你的SimpleTimeClient类,实现getZonedDateTime方法。一般来说,设置时区这个功能会是各个TimeClient实现类中通用的一个功能。这个时候,你通常会选择再定义一个AbstractTimeClient类来实现getZonedDateTime方法。而在JDK8中,你可以选择直接在接口中来实现该方法(interface已经把手伸到abstract class的地盘了)。

从上面的例子,我们可以看到通过static和default修饰符我们可以直接在接口中实现方法体,同时不要忘记,任何在接口中方法声明都是public类型的哦。

OK,现在我们需要一个新的接口:AnotherTimeClient,它得继承TimeClient接口。那么,对于TimeClient接口中定义的getZonedDateTime方法,你可以做如下三种处理:

重新声明getZonedDateTime方法,使它变成abstract类型。

重新定义getZonedDateTime方法。

直接继承。

而static方法和我们在类里面定义的static方法概念一致。

相关文章

  • 教你在Java接口中定义方法

    基本上所有的Java教程都会告诉我们Java接口的方法都是public、abstract类型的,没有方法体的。 但...

  • java8接口中的默认方法

    java8接口中的默认方法 概述默认方法 java8中可以在接口中定义一个default修饰的方法,例如: 这样任...

  • Java8中default方法

    我们都知道在Java语言的接口中只能定义方法名,而不能包含方法的具体实现代码。接口中定义的方法必须在接口的非抽象子...

  • Java中接口使用思考

    Java接口的使用场景 定义一个统一的协议规范 Java接口中方法和字段使用规范 接口中方法只能定义为public...

  • Java 8中的改进的接口

    Java 8 允许在接口中定义默认方法.默认方法必须使用 default 修饰,该方法不能使用 static 修饰...

  • Java 8全面解析

    改进接口 现在可以在接口中定义静态方法了。例如,java.util.Comparator接口中现在拥有一个静态的n...

  • MVP简单介绍和内部接口介绍

    【Android - 框架】之MVP模式的使用 Java中的内部接口 Java中接口中的方法定义规则 Java中的...

  • Java8的接口增强

    JAVA8 接口的增强:在Java8之前的接口只能定义抽象方法,即不能有具体的实现,但是在Java8之后,接口中可...

  • 我要告诉你:java接口中可以定义private私有方法

    在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法...

  • Flink中notifyCheckpointComplete方法

    定义 notifyCheckpointComplete方法在CheckpointListener接口中定义 简单说...

网友评论

    本文标题:教你在Java接口中定义方法

    本文链接:https://www.haomeiwen.com/subject/ljjnsctx.html