Heim  >  Artikel  >  Java  >  Können wir in Java eine Klasse der obersten Ebene als geschützt oder privat deklarieren?

Können wir in Java eine Klasse der obersten Ebene als geschützt oder privat deklarieren?

WBOY
WBOYnach vorne
2023-09-12 19:21:031364Durchsuche

Können wir in Java eine Klasse der obersten Ebene als geschützt oder privat deklarieren?

Nein , wir können eine Top-Level-Klasse nicht als privat oder geschützt deklarieren. Es kann public oder default (keine Modifikatoren) sein. Wenn keine Modifikatoren vorhanden sind, sollte es Standardzugriff haben.

Syntax

// A top level class
   public class TopLevelClassTest {
      // Class body
}
Wenn eine Klasse der obersten Ebene als privat deklariert ist, meldet der Compiler einen Fehler und meldet „Der Modifikator private ist hier nicht zulässig“. Dies bedeutet, dass Klassen der obersten Ebene nicht privat sein können, und das Gleiche gilt für den geschützten Zugriffsmodifikator. Geschützt bedeutet, dass jede Klasse im selben Paket sowie Unterklassen auf das Mitglied zugreifen können, auch wenn sie sich in einem anderen Paket befinden. Klassen der obersten Ebene können nur öffentliche, abstrakte und endgültige Modifikatoren haben oder möglicherweise keine Klassenmodifikatoren definieren. Dies wird als Standard-/Paketzugriff bezeichnet. Wir können die innere Klasse als privat oder geschützt deklarieren, dies ist jedoch in der äußeren Klasse nicht zulässig Klassen.
  • In einer Java-Quelldatei können mehrere Klassen der obersten Ebene definiert werden, es kann jedoch höchstens eine öffentliche Klassendeklaration der obersten Ebene geben. Der Dateiname muss mit dem Namen der öffentlichen Klasse übereinstimmen.
  • Deklarieren einer Klasse als geschützte ist hier nicht erlaubt

    . Daher wird der obige Code nicht ausgeführt.

    Ausgabe

    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");
       }
    }

    Eine Klasse als privat deklarierenBeispiel

    Live-Demo

    modifier protected not allowed here

    Im obigen Beispiel können wir die Klasse als „privat“ deklarieren und es wird ein Fehler ausgegeben bedeutet

    Der Modifikator private ist hier nicht erlaubt. Daher wird der obige Code nicht ausgeführt.

    Ausgabe

    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");
       }
    }

    Das obige ist der detaillierte Inhalt vonKönnen wir in Java eine Klasse der obersten Ebene als geschützt oder privat deklarieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen