-2

重複としてマークされていることを修正するため、または重複しているように見える理由をより明確にするために編集されました。当時、私はそのパッケージとデフォルトが同じであることを知らなかったので、この投稿の理由.


今、私は Java 試験の準備として試験問題を解いています。アクセス修飾子とパッケージ修飾子についての説明を求める質問があります。

プライベート、プロテクト、パブリック、デフォルトに関する情報は見つかりますが、パッケージに関する情報は見つかりません。

誰かが私に答えを与えるか、それについての記事にリンクしてもらえますか?

4

2 に答える 2

7

package-privateは実際の修飾子ではありません。package-private入力してシス​​テムにアクセス修飾子として認識させることはできません。これは実際にはデフォルトであり、他の修飾子を一切含めないことによって作成されています。

これは、指定されたメンバーが同じパッケージ内でのみアクセスできることを意味します。

たとえば、 ではcom.hexafraction.Cowデフォルトの修飾子 (実際にはなし) を持つメンバーにアクセスできますcom.hexafraction.Dogcom.foo.Crow、同じパッケージに含まれていないため、そのメンバーにはアクセスできません。

この例では、以下が構成されていCowます。

pacakge com.hexafraction;
class Cow{
    void moo(){ //no public, protected, or private modifier
        System.out.println("moo!");
    }
}

将来のために編集: Java 8 では、packageこれに必要な修飾子になると思われます。文字通りのタイピングdefaultは、ここではまだ適用されません。

于 2013-07-29T17:00:41.333 に答える