zjfgf 2011-10-05 11:55
浏览 354
已采纳

当一个类实现一个接口时,其中实现类中的方法需用public修饰,难理解?

interface D{
public static final int e=3;
void add(int i);
}
public class Test implements D{

@Override
void add(int i) {
    // TODO Auto-generated method stub
    i += ++i;
    System.out.println("i="+i);
}

}

  • 写回答

4条回答 默认 最新

  • rainbow702 2011-10-06 00:11
    关注

    接口中所有的方法与变量都默认是 public 的,在接口中可以不写出来。但在实现类中,如果不明写的话,就变成了 friend 的了,也就是 “包访问权限”。而JAVA又规定,在实现接口或者覆写父类方法时,不能降低父类方法的访问权限,但是可以提高。也就是可以按照 friend protected public 来提高访问权限,但不能按照 public protected friend 来降低访问权限。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?