写在前面
在Java中接口时作为规范来存在的,那么除了抽象方法,接口中还能定义其他方法吗?比如静态方法?本文一起来看下。
1:正文
这并不是一个绝对的是和否的问题,不同的jdk版本表现不同,在<=1.7
的版本中只可以有抽象方法,但是在>=1.8
版本就可以支持静态方法和默认方法,如下类:
public interface I1111 {
// 接口中的抽象方法
static void aaa() {
System.out.println("xxxxx");
}
// 接口中的默认方法
default int bbb() {
System.out.println("I1111.bbb");
return 0;
}
// 接口中的抽象方法
void ccc();
}
如果是用jdk1.8编译是可以的:
使用jdk1.7就会报各种错,default方法的错误,static方法的错:
写在后面
参考文章列表
Index of java-local/jdk 。