2

这是我在 Java 教程中的简单代码。

public interface AnimalIntf {

    default public String identifyMyself(){
        return "I am an animal.";
    }

}

我收到一个错误:类型接口方法的非法启动不能有主体。该方法是默认的,默认关键字用于方法签名的开头。你能解释一下有什么问题吗?

4

3 回答 3

5

Java 8 中引入了默认接口方法,因此您需要一个支持 Java 8 或更高版本的 JDK。

于 2014-10-23T19:55:06.243 回答
1

您必须使用 Java 8 或更高版本才能在接口中具有默认实现。相反,您可以使用抽象类。但即便如此,您也不会使用default关键字。

于 2014-10-23T19:55:41.377 回答
0

奇怪的事情发生了......在计算机和IDE设置中的JDK更新到版本8后,代码编译OK,但IDE仍然标记线

default public String identifyMyself(){

作为错误。并且在尝试使用接口时仍然出现错误,要求覆盖实现该接口的类中的默认方法。

public class Dragon implements Animal{    
}

2 小时后,我厌倦了尝试修复我的 NetBeans v.6.9.1 并下载了 NetBeans v8.0.1。现在我很好:)

于 2014-10-23T22:06:16.680 回答