Java >> Tutoriel Java >  >> Tag >> class

Pouvons-nous accéder à une variable privée en dehors de la classe en Java ?

Variable privée en Java

La variable privée peut déclarer avec le mot-clé privé.

Dans l'exemple ci-dessous, nous verrons que nous pouvons accéder à une variable privée dans la même classe.

Exemple :

class CanPrivateVariableAccessInTheSameClass{

	/* Declare private variable named x */
	private int x;

	/* Define constructor for private 
	variable initialization */
	CanPrivateVariableAccessInTheSameClass(int x){
		this.x = x;
	}

	/* Define method to print value of variable x */
	public void privateVariableAccess(){
		System.out.println("value of x is :" +x);
	}

	/* Main method definition */
	public static void main(String[] args)
	{
		/* create CanPrivateVariableAccessInTheSameClass 
		object and pass the value of private variable */
		CanPrivateVariableAccessInTheSameClass cpvaitsc = new CanPrivateVariableAccessInTheSameClass(10);
		/* call CanPrivateVariableAccessInTheSameClass method 
		with the help of CanPrivateVariableAccessInTheSameClass 
		object */
		cpvaitsc.privateVariableAccess(); 
	}
}

Sortie

D:\Java Articles>java CanPrivateVariableAccessInTheSameClass
value of x is :10

Dans l'exemple ci-dessous, nous verrons que nous ne pouvons pas accéder à une variable privée en dehors de la classe.

Publicité

Exemple :

class CanPrivateVariableAccessInTheDifferentClass{
	/* Declare private variable named x */
	private int x=10;

	/* Define method to print value of variable x */
	public void privateVariableAccess(){
		System.out.println("value of x is :" +x);
	}

	public static void main(String[] args){
	}
}

class OutsideClass extends CanPrivateVariableAccessInTheDifferentClass{
	public static void main(String[] args){
		CanPrivateVariableAccessInTheDifferentClass cpvaitdc = new CanPrivateVariableAccessInTheDifferentClass();
		/* x is variable of CanPrivateVariableAccessInTheDifferentClass class 
		so we can call x variable with the help of 
		CanPrivateVariableAccessInTheDifferentClass object */
		System.out.println(cpvaitdc.x);
	}
}

Sortie

D:\Java Articles>javac CanPrivateVariableAccessInTheDifferentClass.java
CanPrivateVariableAccessInTheDifferentClass.java:27: error: x has private access
 in CanPrivateVariableAccessInTheDifferentClass
System.out.println(cpvaitdc.x);
                           ^
1 error

Balise Java