2009-04-03 13 views

答えて

226

デフォルトのスコープはpackage-privateです。同じパッケージ内のすべてのクラスは、メソッド/フィールド/クラスにアクセスできます。パッケージプライベートは保護されたスコープよりも厳しいですが、プライベートスコープよりも許容されます。

詳細情報:
http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

http://mindprod.com/jgloss/scope.html
+2

はるかに良い答え - @ジョー - これで行く、私のではない。 –

+2

"パッケージのデフォルトがより厳しい..." – reinaldoluckman

+6

"package-private"は、外部ユニットテストのためのメソッドを公開するときに使用するのに適したスコープです。 –

4

デフォルトの有効範囲は「デフォルト」です。それは変です - 詳しくはthesereferencesをご覧ください。

+3

実際にそうではありません:それはパッケージプライベートです –

+0

THanks Maurice、私は私の答えを更新しました。 –

+2

私の答えは受け入れられたので、私はそれを削除できません。私はジョーに@エスコの答えを伝えるよう勧めます! –

17

パッケージプライベートとして定義されたものはすべてクラス自体によってアクセスすることができ、同じパッケージ内ではなく、パッケージの外側ではなく、サブクラスによって他のクラス。

は、アクセス修飾子なしでアクセスレベル修飾子の便利なテーブルのためのthis page ...

+0

評判の良い情報源を唯一認識してくれてありがとう。インターフェイスのメンバーについての詳細は、 –

7

を参照してください、クラスメンバーは、それが宣言されていたパッケージ全体にアクセス可能です。 Java Language Specification, §6.6.

インターフェイスのメンバーは、明示的に宣言されているかどうかにかかわらず、常に公にアクセスできます。

+0

+1を参照してください。 – Wazza

0

のJava 8は今デフォルトスコープ(とのみ、静的)とのインターフェース自体の内部メソッドの実装を可能に参照することができます詳細は

関連する問題