我正在阅读Kathy Sierra和Bert Bates的SCJP,并在pg上说。那个 “如果您希望接口具有公共访问权限而非默认访问权限,则需要使用公共修饰符”。这是真的?如果是,那么接口方法(总是公共的)只有在接口位于实现类的同一个包中时才可访问...?因为这是默认访问修饰符的含义...我对此有点困惑。
答案 0 :(得分:2)
如果你没有为a指定访问修饰符,那是真的吗? 接口,该接口将具有默认访问权限?
是的,这是真的。如果未指定访问修饰符,则Java类型/字段/方法(在类中)具有包级访问权限。以接口类型定义的成员默认是公共的。
答案 1 :(得分:1)
此处interface
本身为package protected
,但默认情况下方法始终为public
interface Foo
{
void bar(); // this is always public and nothing else
}
此处interface
为public
以及方法
public interface Foo
{
void bar(); // this is always public and nothing else
}
你可以声明public void bar();
或void bar();
他们的意思相同,就个人而言,我总是把public
放在一边,因为显式总是优于隐式强>