Java中的接口类似于类,但是接口的主体只能包含抽象方法,并且
final
字段(常量)。
最近,我看到一个问题,看起来像这样
interface AnInterface {
public default void myMethod() {
System.out.println("D");
}
}
根据接口定义,只有抽象方法允许。为什么它允许我编译以上代码?default
关键字是什么?
另一方面,当我尝试编写下面的代码时,它说 modifier default not allowed here
default class MyClass{
}
代替
class MyClass {
}
谁能告诉我default
关键字的目的?只能在接口内部使用吗?与default
(无访问修饰符)有什么区别?