我试图找出在接口中有效的最佳声明是什么。
对不起,我是初学者
a. public double methoda();
b. public final double methoda();
c. static void methoda(double d1);
d. protected void methoda(double d1);
我试图找出在接口中有效的最佳声明是什么。
对不起,我是初学者
a. public double methoda();
b. public final double methoda();
c. static void methoda(double d1);
d. protected void methoda(double d1);
return_type method(arguments)
将是这样做的方法。
跳过,public abstract
因为它不鼓励。根据JLS 9.4:
允许但不鼓励为接口中声明的方法冗余地指定 public 和/或 abstract 修饰符。
此外,一致性是关键
public interface Foo{
public void MakeFoo();
void PerformBar();
}
在上面的示例中,两种方法都是相同的public abstract
,但它们的编写方式不一致。
因此,请避免界面中出现多余的修饰符。
来源:http ://docs.oracle.com/javase/specs/jls/se7/html/jls-9.html#jls-9.4
public double methoda();
中,修饰符public
冗余但可以编译。final
,它怎么能被覆盖?abstract
方法不能static
。参考 JLS。protected
,public
不是吗?