Maison > Java > javaDidacticiel > En Java, peut-on déclarer une classe de niveau supérieur comme protégée ou privée ?

En Java, peut-on déclarer une classe de niveau supérieur comme protégée ou privée ?

WBOY
Libérer: 2023-09-12 19:21:03
avant
1475 Les gens l'ont consulté

En Java, peut-on déclarer une classe de niveau supérieur comme protégée ou privée ?

Non , nous ne pouvons pas déclarer une classe de niveau supérieur comme privée ou protégée. Cela peut être public ou default (aucun modificateur). S'il n'y a pas de modificateurs, il devrait avoir un accès par défaut.

Syntaxe

// A top level class
   public class TopLevelClassTest {
      // Class body
}
Copier après la connexion
Si une classe de niveau supérieur est déclarée comme privée, le compilateur signalera une erreur et demandera "Le modificateur privé n'est pas autorisé ici". Cela signifie que les classes de niveau supérieur ne peuvent pas être privées, et il en va de même pour le modificateur d'accès protégé. Protégé signifie que le membre est accessible par n'importe quelle classe du même package ainsi que par les sous-classes, même si elles se trouvent dans un autre package. Les classes de niveau supérieur ne peuvent avoir que des modificateurs publics, abstraits et finaux, ou elles ne peuvent définir aucun modificateur de classe. C’est ce qu’on appelle l’accès par défaut/package. Nous pouvons déclarer la classe interne comme privée ou protégée mais cela n'est pas autorisé dans la classe externe classes.
  • Plusieurs classes de niveau supérieur peuvent être définies dans un fichier source Java, mais il peut y avoir au plus une classe publique de niveau supérieur déclaration. Le nom du fichier doit correspondre au nom de la classe publique. Déclarer une classe comme protégé
  • example

    live démonstration

    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");
       }
    }
    Copier après la connexion

    Dans l'exemple ci-dessus, nous pouvons déclarer la classe comme

    protected

    et elle allait dire une erreur suggérant

    Modification du symbole protégé par symbole n'est pas autorisé ici

    . Par conséquent, le code ci-dessus ne s’exécutera pas.

    Sortie

    modifier protected not allowed here
    Copier après la connexion
    Déclarer une classe comme privée

    Exemple

    Démo en direct

    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");
       }
    }
    Copier après la connexion

    Dans l'exemple ci-dessus, nous pouvons déclarer la classe comme

    privée

    et elle

    lancera une erreur

    ,

    Le modificateur private

    n'est pas autorisé ici. Le code ci-dessus ne s'exécutera donc pas.

    Sortie

    modifier private not allowed here
    Copier après la connexion

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Étiquettes associées:
    source:tutorialspoint.com
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal