3

我正在阅读 Kathy Sierra 和 Bert Bates 的 SCJP,它在 pg 上说。21 “如果您希望接口具有公共而不是默认访问权限,则需要公共修饰符”。这是真的?如果是,那么只有当接口在实现类的同一个包中时才能访问接口方法(始终是公共的)......?因为这是默认访问修饰符的含义......我对此有点困惑。

4

2 回答 2

2

如果您不为接口指定访问修饰符,那么该接口将具有默认访问权限,这是真的吗?

是的,这是真的。如果未指定访问修饰符,Java 类型/字段/方法(在类中)具有包级访问权限。默认情况下,在接口类型中定义的成员是公共的。

阅读教程 -控制对类成员的访问

于 2012-01-11T01:42:39.613 回答
1

这里是interface它本身,package protected但方法总是public默认的

interface Foo
{
    void bar(); // this is always public and nothing else
}

这里interfacepublic以及方法

public interface Foo
{
    void bar(); // this is always public and nothing else
}

你可以声明public void bar();,或者void bar();它们的意思是一样的,就个人而言,我总是把,public因为显式总是比隐式好

于 2012-01-11T01:54:24.873 回答