Caractère d'autorisation d'accès:
(1) public:
Pour les membres: ils sont accessibles par n'importe quelle autre classe, que ce soit dans le même package ou dans un autre package.
Pour les cours: il en va de même.
(2) Friendly:
Aux anciens membres: si un membre de la classe n'a aucune modification des autorisations, sa porte est les autorisations d'accès par défaut.
Ce n'est pas un mot-clé en Java, mais voici un moyen de l'exprimer en personne. D'autres classes du même package sont accessibles, mais en dehors du package
Ce n'est pas possible. Pour les classes qui ne sont pas sous le même dossier, sans package, Java verra automatiquement ces classes comme sous le répertoire qui appartient à ce répertoire
Le package par défaut peut appeler des membres amicaux en classe. Par exemple, les deux classes suivantes sont dans les deux fichiers du même dossier, respectivement
Bien qu'il ne soit pas introduit dans le package, il appartient au même package par défaut.
Classe Sundae {// Les deux méthodes suivantes sont amicales Sundae () {} void f () {System.out.println ("Sundae.f ()"); String] args) {sundae x = new Sundae ();
Pour les cours: les classes du même package peuvent être utilisées. En bref, la classe ne peut déclarer que publique ou amicale.
(3) Privé:
Pour les membres: uniquement l'accès à la classe que le membre appartient.
Classe Sundae {private Sundae () {} // Il ne peut être appelé que dans Sundae class Sundae (int i) {} statique Sundae Makasunda () {return new Sundae (); String [] args) {// Le constructeur Sundae () dans la classe Sundae est privé, // donc il ne peut pas être initialisé // sundae x = new Sundae (); int) Il est amical, vous pouvez appeler le Sunae Z = sundae.makasundae ();}}
Pour les cours: la classe ne peut pas être déclarée privée.
(4) Protégé:
Pour les membres: les classes du même package peuvent accéder (autorisations d'accès aux packages);
(5) par défaut (autorisation par défaut)
La classe, les membres de données, les méthodes constructives et les membres de la méthode peuvent utiliser les autorisations par défaut, c'est-à-dire pour ne pas écrire de mots clés. Les autorisations par défaut sont les mêmes autorisations de package, et les éléments des mêmes autorisations de package ne peuvent être appelés que dans leurs classes définies et la classe du même package.
Exemple: package C05.Local;
Importer pack1.cookie; Cookie La classe n'est pas dans un package, et chacun a les autorisations d'accès à package. ne répond pas aux exigences de confidentialité, il est donc préférable de le régler pour protéger. System.out .println ("Constructeur ChocolateChip");} public static void Main (String [] args) {ChocOlateChip x = new ChocOlateChip ();
Package Pack1; Cookie de classe publique {Cookie public () {System.out.println ("Cookie Constructor");
Il y a une meilleure explication des autorisations de la classe:
Autorisations d'accès de la classe de classe:
Public: il peut être utilisé pour tout accès de classe.
Par défaut: La valeur par défaut peut être appelée amicale, mais il n'y a pas de modificateur de Friendly dans la langue Java. L'autorisation d'accès par défaut est l'autorisation d'accès au niveau du package.
Autrement dit, si une classe est écrite sans modificateur d'accès en écriture, alors c'est l'autorisation d'accès par défaut, et que toutes les classes sous le même package sont accessibles, même si la classe peut être instanciée (bien sûr, si cette classe n'a pas La capacité d'instancier, par exemple, cette classe ne fournit pas de constructeur public).
illustrer:
1. Chaque unité de compilation (fichier de classe) ne peut avoir qu'une seule classe publique
2. Le nom de la classe publique (y compris le haut de cas) doit être le même que son fichier de classe.
3. Un fichier de classe (* .java) peut ne pas exister.
Cette forme de scénario d'existence: si nous écrivons une classe dans un package, c'est juste pour coopérer avec d'autres classes dans le package, et nous ne voulons pas écrire de compte au client (pas nécessairement un client ayant un sens réaliste, Il peut être un mal de tête d'appeler cette classe) et il peut être un peu un mal de tête de le voir, et il peut être possible de changer complètement la pratique d'origine après une période de temps, et d'abandonner complètement l'ancienne version et de la remplacer par une toute nouvelle version.
4. La classe ne peut pas être privée ou protégée.
5. Si vous ne voulez pas d'objet qui génère une certaine classe, vous pouvez définir tout le constructeur sur privé. Mais même ainsi, l'objet de cette classe peut être généré, qui est le membre (propriétés et méthodes) de la classe statique peut être effectuée.
Exemple complet:
First.java:
Numéro de package; ;; Par des classes et des sous-classes dans le même package. ;
Sortir:
Java Hello Test Hello Test