Skip to Main Content

Java Programming

Announcement

For appeals, questions and feedback, please email oracle-forums_moderators_us@oracle.com

Accessing private variable of Inner class from Outer class

SASWATA MANDALJun 26 2022

Hi Experts ,
Private members of a class cannot be accessed from outside of that class. Then how in the below code class Outer can access inner.z , z is a private member of the class Inner ? :-

package chapter7; 

class Outer    
{
 int outer_x=100;

 void test()
 {
  Inner inner=new Inner();
  inner.display();
  //System.out.println("y : "+y);       //errors , because Outer has no access to the Inner class variables.
  //System.out.println("y : "+Inner.y); //errors , because Outer has no access to the Inner class variables.
  System.out.println("y : "+inner.y);  
  System.out.println("z : "+inner.z);  // z is a private instance variable of Inner class.
 } 
 
 class Inner     //class Inner is known only within the scope of Outer.
 {
  int y=10;
  private int z=12;
  void display() //the Inner class has direct access to all the variables of the Outer class,but not the reverse.
  {
   System.out.println("display : outer_x= "+outer_x);
  }
 }
 
}

class InnerClassDemo
{
 public static void main(String args[])
 {
  Outer outer=new Outer();
  outer.test();
 }
}

/* OUTPUT

display : outer_x= 100
y : 10
z : 12

*/
Comments
Post Details
Added on Jun 26 2022
1 comment
484 views