Java >> Tutoriel Java >  >> Tag >> public

Modificateurs d'accès Java | Par défaut, public, protégé et privé

En Java, vous pouvez définir un niveau d'accès ou limiter la portée des variables Java, des méthodes, de la classe, du constructeur et du membre de données. Pour en définir une portée, vous devez utiliser les Modificateurs d'accès Java dans votre code de programme.

Types de modificateurs d'accès Java

Il existe 4 types de niveaux d'accès en Java

  1. privé : Visible uniquement dans la même classe
  2. par défaut : Visible au niveau du package
  3. protégé : Dans le package et en dehors du package, mais vous devez utiliser l'héritage uniquement.
  4. public : Visible partout

Graphiser tous les modificateurs d'accès Java

Voici un tableau simple de tous les modificateurs d'accès Java pour une bien meilleure compréhension.

Modificateur d'accès Dans la classe Dans le package Hors package par sous-classe uniquement Hors forfait
Privé Oui Non Non Non
Par défaut Oui Oui Non Non
Protégé Oui Oui Oui Non
Public Oui Oui Oui Oui

Démarrons un aperçu des modificateurs d'accès avec des exemples simples :

Nous ajoutons l'exemple unique de tous les modificateurs Java pour la compréhension, il y a beaucoup d'exemples pour faire la même chose. Mais commencez toujours par le plus facile.

1. Modificateur d'accès privé Java

Le modificateur d'accès le plus restreint est Privé , accès uniquement au niveau de la classe.

Essayons l'exemple de la création de 2 classes A et B, et essayons les membres de données privées de la classe A par la classe B. Il devrait s'agir d'une erreur de compilation. Découvrez cet exemple de modificateur d'accès privé.

class A {
 private int a = 40;

 private void message() {
 System.out.println("Hello java");
 }
}
public class B {
 public static void main(String args[]) {
 A obj = new A();

 //Compile Time Error
 System.out.println(obj.a);
 obj.message();
 }
}

Sortie et capture d'écran :

Erreur :(7, 12) java :message() has private access in A
Erreur :(6, 31) java :a has private access in A

2. Modificateur d'accès Java par défaut

Le modificateur par défaut est accessible uniquement dans le package uniquement. Si aucun modificateur n'a à être défini, c'est celui par défaut.

Créons un exemple de modificateur d'accès par défaut, créez 2 packages - eye.hunts et autre . Essayer d'accéder à la classe A depuis l'extérieur de son package, puisque la classe A est celle par défaut, elle n'est donc pas accessible depuis l'extérieur du package.

package eye.hunts;

class A {
 public void message() {
 System.out.println("Hello");
 }
}
package other;

import eye.hunts.A;

class B {
 public static void main(String args[]) {
 A obj = new A();
 obj.message();
 }
}

Sortie :Erreur : (3, 17) java :eye.hunts.A is not public in eye.hunts; cannot be accessed from outside package ......

3. Modificateur d'accès protégé Java

Le modificateur d'accès protégé Java est accessible dans le package et en dehors du package, mais uniquement par héritage.

Voyons l'exemple d'un modificateur d'accès protégé. En utilisant l'exemple ci-dessus et en venant de modifier la méthode Message de ce package est déclarée comme protégée, elle est donc accessible depuis l'extérieur de la classe uniquement par héritage. Et la classe A est publique.

package eye.hunts;

public class A {
 protected void message() {
 System.out.println("Hello");
 }
}
package other;

import eye.hunts.A;

class B extends A {
 public static void main(String args[]) {
 B obj = new B();
 obj.message();
 }
}

Sortie : Bonjour

4. Modificateur d'accès public Java

Le modificateur d'accès public a un niveau d'accès plus large que les autres, il peut accéder partout. Voir l'exemple.

package eye.hunts;

public class A {
 public void message() {
 System.out.println("Hello");
 }
}
package other;

import eye.hunts.A;

class B {
 public static void main(String args[]) {
 A obj = new A();
 obj.message();
 }
}

Sortie : Bonjour

N'hésitez pas à commenter si vous avez des doutes et des suggestions sur ce tutoriel.


No
Balise Java