1.概述
- 首先在JDK1.8之前在接口中的组成部分只有两种
1.抽象方法 默认修饰符为 public abstract
2.常量 默认修饰符为 public static final
- 在JDK1.8时加入了以下组成
1.默认方法 修饰符为关键字 default,是带有方法体的非抽象方法,接口的实现类可以选择实现也可以不实现,不做强制要求,不做实现的话,默认就是接口中的实现逻辑,所以叫默认方法,可以便于接口的扩展。
2.静态方法 修饰符自然是 static
- 在JDK1.9时加入了私有方法
1.私有方法 修饰符自然是 private,在JDK1.8时,接口类中写私有方法语法是可以通过的,但是执行会报错,在1.9时正式引入了私有方法,因为当我们可以在接口中写具体的处理逻辑时,必然有共通的代码块需要提出来成为共通的私有处理逻辑方法。
2.代码
- 默认方法
public interface NewInterface {
// java8之前,接口中只包含如下两个内容
// 1.常量:默认修饰符为 public static final
int a = 1;
//2. 抽象方法:默认修饰符为 public abstract
void method();
// 在java8的时候在接口中可以写默认方法和静态方法了
// 首先,默认方法
public default String methodDefault() {
return "default method";
}
// 以及静态方法
public static void methodStatic() {
System.out.println("static method in interface");
}
// 以及在java9中可以写私有方法了
private void methodPrivate() {
System.out.println("private method in interface");
}
}