【问题标题】:Java Interface ClarificationJava 接口说明
【发布时间】:2015-03-17 14:28:41
【问题描述】:

我对 Oracle Java 文档 here 中标题 Interfaces In Java 下的一行感到困惑,它说:

方法体只存在于默认方法和静态方法。

由于我们不能在接口中定义方法体,所以我很困惑这行是否有其他含义。感谢有人可以帮助我理解这一点。

【问题讨论】:

  • 这个功能是在 Java 8 中引入的,所以这就是混淆的地方。在 Java 8 之前你是对的,Java 中的接口可能没有实现。

标签: java interface


【解决方案1】:

在 Java 8 中,接口可能包含其方法的默认实现,以及已实现的静态方法。

【讨论】:

  • 感谢伊兰!这真是令人困惑。
【解决方案2】:

Default methods and static methods 是 java 8 的新特性。在 java 8 之前,无法在接口中定义 then。

例如,默认方法具有使用其他新方法更改扩展接口(不是继承意义上的)的好处,您必须使用默认主体,以便现有实现不会被破坏。

例如,接口中的静态方法的好处是无需创建其他类(例如实用程序/帮助类),其唯一目的是处理该接口的实例。

【讨论】:

    猜你喜欢
    • 2018-02-01
    • 1970-01-01
    • 2011-01-28
    • 2015-03-16
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多