-3

我试图找出在接口中有效的最佳声明是什么。

对不起,我是初学者

a.  public double methoda();
b.  public final double methoda();
c.  static void methoda(double d1);
d.  protected void methoda(double d1);
4

1 回答 1

2

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



1. 在public double methoda();中,修饰符public冗余但可以编译。
2.如果一个方法是final,它怎么能被覆盖?
3.abstract方法不能static。参考 JLS。
4.似乎很矛盾protectedpublic不是吗?

于 2013-11-07T16:17:24.897 回答