【问题标题】:java default method won't workjava默认方法不起作用
【发布时间】:2014-05-07 08:54:30
【问题描述】:

我最近升级到 java,我正在尝试使用新的默认接口方法。但是,我不断收到令牌“默认”的语法错误,请删除此令牌。 这是我预计会出现问题的构建路径:

我怀疑它与我的构建路径有关,但不知道是什么。 如果它与我的代码有关,这里是我正在尝试的代码:

interface Test{
      default void sayHelloWorld() {
            System.out.println("Hello World");
        }

}

有人有什么想法吗?

【问题讨论】:

  • JRE 系统库 [J2SE-1.5]。

标签: java eclipse interface java-8 default-method


【解决方案1】:

您使用的是 Java 5。从 Java 8 开始支持默认方法。更新 JDK,它应该可以正常工作。

【讨论】:

  • 我以为我做到了,当我查看库中的部分时,他们都说 oracle java 8。
  • 如果您查看屏幕截图,它清楚地显示“JRE 共享库 [J2SE-1.5]”,即 Java 5。转到属性中的“Java 编译器”设置,您应该能够更改Java 版本。
  • 你的意思是在合规性下它只能上升到 1.7?
  • 嗯,这肯定是个问题。尝试 Eclipse Preferences (Windows -> Preferences) 并检查 Java -> Installed JREs。是否安装了正确的 Java 8 JDK?合规级别应设置为 1.8。
  • 听起来不错。您是否有实际支持 Java 8 的 Eclipse 版本?这个问题可能有助于确定:stackoverflow.com/questions/17619638/eclipse-kepler-java-8
【解决方案2】:

需要做两件事。

  1. 检查 java 构建路径并更新到 jdk1.8。 配置步骤:-

    • 从项目中选择属性。
    • 选择 java 构建路径 --> 库 --> 选择 JRE 系统库(1.5)。
    • 通过选择编辑进行更改并通过指向最新的 jdk 1.8 进行更新
  2. 确保项目合规性设置为 jdk1.8,因为默认方法是 仅在源级别 1.8 或更高版本中可用。 配置步骤:-

    • 从项目中选择属性。
    • 选择java编译器-->选择jdk合规性并全部更新到jdk 1.8 从下拉列表中。或者确保选择“在java构建路径上使用执行环境'J2SE1.8'的合规性”(需要在构建路径的第一步之后完成)

【讨论】:

    【解决方案3】:

    这对我有帮助:
    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get 更新

    sudo apt-get install oracle-java8-set-default
    检查版本:
    java -版本

    【讨论】:

      【解决方案4】:

      您正在使用 J2SE-1.5 并使用“默认”您需要将您的 java 升级到 java 8 ;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-26
        • 1970-01-01
        • 2022-08-17
        • 1970-01-01
        • 1970-01-01
        • 2014-11-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多