3

私は Kathy Sierra と Bert Bates による SCJP を読んでいます。21 「インターフェイスにデフォルト アクセスではなく public を持たせたい場合は、public 修飾子が必要です」。これは本当ですか?はいの場合、インターフェイスメソッド (常にパブリック) は、インターフェイスが実装クラスの同じパッケージにある場合にのみアクセスできます...? それがデフォルトのアクセス修飾子の意味なので...私はこれについて少し混乱しています。

4

2 に答える 2

2

インターフェイスにアクセス修飾子を指定しない場合、そのインターフェイスはデフォルトのアクセス権を持つというのは本当ですか?

はい、それは本当です。アクセス修飾子が指定されていない場合、Java の型/フィールド/メソッド (クラス内) にはパッケージ レベルのアクセス権があります。インターフェイス型で定義されたメンバーは、デフォルトで public です。

チュートリアルを読む -クラスのメンバーへのアクセスの制御.

于 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 に答える