这是我在Java Tutorial中的简单代码。
public interface AnimalIntf {
default public String identifyMyself(){
return "I am an animal.";
}
}
我收到一个错误:非法启动类型接口方法不能有body。 该方法是default,默认关键字在方法签名的开头使用。 你能告诉我有什么问题吗?
答案 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。 现在我很好:)