Maison >Java >javaDidacticiel >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.
// A top level class public class TopLevelClassTest { // Class body }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.
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"); } }Dans l'exemple ci-dessus, nous pouvons déclarer la classe comme
modifier protected not allowed hereDéclarer une classe comme privéeExempleDé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"); } }Dans l'exemple ci-dessus, nous pouvons déclarer la classe comme
privée et elle
modifier private not allowed here
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!