ホームページ >Java >&#&チュートリアル >Java では、トップレベルのクラスを protected または private として宣言できますか?
いいえ、 ではありません。最上位クラスを private または protected として宣言することはできません。 public または default ( 修飾子なし ) にすることができます。 修飾子がない場合は、デフォルトのアクセス権があるはずです。
// A top level class public class TopLevelClassTest { // Class body }最上位クラスを private として宣言すると、コンパイラはエラーを報告し、「ここでは修飾子 private は使用できません。」というプロンプトを表示します。これは、トップレベルのクラスをプライベートにすることができないことを意味し、保護されたアクセス修飾子にも同じことが当てはまります。 保護されているとは、同じパッケージ内の任意のクラスおよびサブクラス (別のパッケージ内にある場合でも) からメンバーにアクセスできることを意味します。 最上位クラスは、public、abstract、final 修飾子のみを持つことができます。あるいは、クラス修飾子を定義できない場合もあります。これは、デフォルト/パッケージ アクセスと呼ばれます。 内部クラスを private または protected として宣言できますが、これは外部クラスでは許可されません classes.
ライブ デモ
protected class ProtectedClassTest { int i = 10; void show() { System.out.println("Declare top-level class as protected"); } } public class Test { public static void main(String args[]) { ProtectedClassTest pc = new ProtectedClassTest(); System.out.println(pc.i); pc.show(); System.out.println("Main class declaration as public"); } }
上記たとえば、クラスを protected として宣言すると、 修飾子 protected がここで使用できないことを示すエラー がスローされます 。したがって、上記のコードは実行されません。
出力modifier protected not allowed here
クラスをプライベートとして宣言
例ライブデモprivate class PrivateClassTest { int x = 20; void show() { System.out.println("Declare top-level class as private"); } } public class Test { public static void main(String args[]) { PrivateClassTest pc = new PrivateClassTest(); System.out.println(pc.x); pc.show(); System.out.println("Main class declaration as public"); } }上の例では、クラスを
private として宣言すると、 修飾子 private がここでは許可されていないことを示すエラー がスローされます。したがって、上記のコードは実行されません。 出力
modifier private not allowed here
以上がJava では、トップレベルのクラスを protected または private として宣言できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。