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éeExemple
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!