ホームページ  >  記事  >  Java  >  Java では、トップレベルのクラスを protected または private として宣言できますか?

Java では、トップレベルのクラスを protected または private として宣言できますか?

WBOY
WBOY転載
2023-09-12 19:21:031437ブラウズ

Java では、トップレベルのクラスを protected または private として宣言できますか?

いいえ、 ではありません。最上位クラスを private または protected として宣言することはできません。 public または default ( 修飾子なし ) にすることができます。 修飾子がない場合は、デフォルトのアクセス権があるはずです。

構文

// A top level class
   public class TopLevelClassTest {
      // Class body
}
最上位クラスを private として宣言すると、コンパイラはエラーを報告し、「ここでは修飾子 private は使用できません。」というプロンプトを表示します。これは、トップレベルのクラスをプライベートにすることができないことを意味し、保護されたアクセス修飾子にも同じことが当てはまります。 保護されているとは、同じパッケージ内の任意のクラスおよびサブクラス (別のパッケージ内にある場合でも) からメンバーにアクセスできることを意味します。 最上位クラスは、public、abstract、final 修飾子のみを持つことができます。あるいは、クラス修飾子を定義できない場合もあります。これは、デフォルト/パッケージ アクセスと呼ばれます。 内部クラスを private または protected として宣言できますが、これは外部クラスでは許可されません classes.
  • Java ソース ファイルでは複数のトップレベル クラスを定義できますが、 public トップレベル クラス 宣言は 1 つだけです。ファイル名はパブリック クラスの名前と一致する必要があります。
  • クラスを Protected として宣言します

    Example

    ライブ デモ

    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 サイトの他の関連記事を参照してください。

    声明:
    この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。