Comme le dit le proverbe, il n'y a pas de carré ou de cercle sans règles. En tant que langage de programmation de haut niveau rigoureux orienté objet, Java a naturellement un contrôle strict sur toute la question importante des autorisations.
En Java, vous pouvez définir des autorisations de contrôle d'accès via certains mots clés Java;
Inclure principalement privé (privé), colis (autorisation d'accès aux colis), protégé (autorisation d'accès aux sous-classes) et public (autorisation d'accès public)
Dans Java, ces déclarations peuvent modifier les variables et les méthodes des membres dans une classe, mais seuls les types publics et amicaux peuvent modifier les classes. Par exemple:
Ensuite, expliquons en détail les différences entre ces autorisations (il y a un tableau à la fin du blog) de faible à haut selon les autorisations: (les autorisations élevées ont toutes les caractéristiques des autorisations faibles)
Privé:
Toutes les méthodes privées et les variables de membres privés dans une classe ne sont accessibles que dans la classe et non dans d'autres classes.
Par exemple:
package main; public class private {private int a; private int b; protected () {this.a = 1; this.b = 2; // a and b ne peut être appelé que dans des classes privées} private void set () {System.out.println ("" + a + "" + b + "/ n");} vide print () {this.set (); // Utilisé ici;}}}Amical et protégé:
Si une autre classe est déclarée dans une autre classe, si ces deux sont dans un package, l'autre classe peut accéder aux variables amicales de l'autre classe. Différents packages ne peuvent pas accéder:
Si une autre classe A est déclarée dans une autre classe B, si ces deux sont dans un package, une autre classe B peut également accéder à la variable protégée (ou méthode) de cette autre classe A. Si ce n'est pas dans un pack un package, puis un peut utiliser la méthode protégée en B.
Par exemple:
package principal; importation protégé. *; classe publique Main {public static void main (chaîne args []) {protégée jkl = new protégée (); jkl.print (); // appelant la méthode protégée de la classe parent JKL Frindly prot = new frindly (); system.out.println (prot.a); classe}} package main; public class frindly {int a, b, c, d; frindly () {a = b = c = d = 1;} void set () {System.out.print ("" + a + "" + b + "/ n");}}} package main; public class ProtectedFather {Protected int a; ProtectedFather () {this.a = 1; this.b = 2; // a et b ne peuvent être appelés que dans Protected} private void set () {System.out.println ("" + a + "" + b + "/ n");} protégée void print () {this.set (); // Uniquement utilisé ici;}} package protégé; Protégé () {super (); // appelant la méthode du constructeur Protect super.a = 12 dans la classe parent dans un autre package; // appelant la variable Protect de la classe parent}}Publique:
Si la méthode ou la variable dans la classe est publique, elle peut être appelée dans d'autres classes sans restrictions (utilisées dans le package Scoop). Soyez hors de la classe B dans d'autres packages
package principal; importer public. *; public class Main {public static void main (String args []) {int a; public p = new public (); // appelant la méthode publique dans le package public a = pa; // appelant la variable publique p.set () dans la classe publique;}} packFormulaire de résumé:
| Même paquet | Différents packages | |||
Sous-classe | Non-sous-classe | Sous-classe | Non-sous-classe | ||
Privé | Oui | Non | Non | Non | Non |
Amical | Oui | Oui | Oui | Non | Non |
Protégé | Oui | Oui | Oui | Oui | Non |
Publique | Oui | Oui | Oui | Oui | Oui |
Résumer
Ce qui précède est l'intégralité du contenu de cet article sur la discussion brièvement des quatre types d'autorisations dans les objets Java, et j'espère que cela sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!