場合は、代わりの:私は公開されていない、または保護されていないとして宣言された変数は何ですか?
private JButton theButton;
:
JButton theButton;
違いは何ですか?
おかげ
場合は、代わりの:私は公開されていない、または保護されていないとして宣言された変数は何ですか?
private JButton theButton;
:
JButton theButton;
違いは何ですか?
おかげ
パッケージ。これらは同じパッケージ内の他のクラスから見えます。
FWIW、私は通常、私が何をしているかを知っていることを明確にするために、自分自身のノーオペレーション@Packageアノテーションを使用しています。デフォルトでは、パッケージアクセスは他の3つの可能性よりも高品質のコードで使用される可能性が低いでしょう.1つの大きな例外を除いて:
ユニットテストのスタイルによっては、通常はプライベートであるメソッドまたはフィールド。アクセスを提供する1つの方法は、それらをパッケージアクセスに設定し、ユニットテストクラスを同じパッケージに入れます(通常は別の "テスト"ディレクトリツリーにあります)。いくつかの開発者はこれが悪い習慣だと考えています。一般的に、テストでプライベート(またはテスト用パッケージ)メソッドを使用するのは悪いことです。
パブリック、プロテクト、パッケージ(デフォルト)、プライベートな可視性があります。最も目に見えるものから最も少ないものへと順序付けられる。
デフォルトでは、可視性はパッケージです。
package mytest.myvisibility;
public class MyClass
{
public int myPublicInt; // visible to all
protected myProtectedInt; // visible to subclasses of MyClass and to other members of the mytest.myvisibility package
int myPackageInt; // visible only to other members of the mytest.myvisibility package
private int myPrivateInt; // visible only to MyClass objects.
}
これは(上記@LukeHが提供するOracleのドキュメントを参照してください)正確に真実ではありません。保護されたアイテムは、現在のパッケージでも表示されます。 – Kloe2378231
が更新されました - 「パッケージ」の可視性について詳述され、説明とコードサンプルで可視性の順序が一致しました。 –
http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html – LukeH