猿问

为什么我们不能对接口中的方法一起使用默认访问修饰符和抽象关键字?

我只是想知道为什么我们不能在界面中将 default 和 abstract 关键字放在一起?

一个接口允许使用 public 和 abstract ,当涉及到同一个包时,默认是 public 的。那么,为什么public abstractdefault abstract

注意: 这适用于较低版本的 java 7


森栏
浏览 143回答 3
3回答

子衿沉夜

关键字是互斥的。该JLS说:它是一个编译时间错误,如果一个接口方法声明具有一个以上的关键字的abstract,default或static。关于abstract它说的关键字:如果接口方法声明是abstract(显式或隐式)并且具有用于其主体的块,则这是编译时错误 。但是对于带有关键字的方法,default它需要:它的主体总是由一个块表示,它为任何实现接口的类提供默认实现而不覆盖方法。总结:的abstract方法没有体一个default方法提供了一个主体不可能同时拥有一个和另一个。
随时随地看视频慕课网APP

相关分类

Java
我要回答