Java默认接口方法

时间:2014-10-23 19:46:03

标签: java interface java-8 default-method

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

public interface AnimalIntf {

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

}

我收到一个错误:非法启动类型接口方法不能有body。 该方法是default,默认关键字在方法签名的开头使用。 你能告诉我有什么问题吗?

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

奇怪的事情正在发生...... 在计算机和IDE设置中将JDK更新到版本8之后,代码编译正常,但IDE仍标记该行

default public String identifyMyself(){

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

public class Dragon implements Animal{    
}

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