Sunday, 11 August 2013

Why a protected member of a class in a package in java is accessible in an other package class?

Why a protected member of a class in a package in java is accessible in an
other package class?

//first package is
package package1;
public class ClassA
{
public void displayA()
{
System.out.println("Class A");
}
}
//second package is
package package3;
public class ClassC
{
protected int m=10;
public void displayC()
{
System.out.println("Class C");
System.out.println("m="+m);
}
}
//importing the packages
import package1.ClassA;
import package3.*;
class PackageTest3
{
public static void main(String args[])
{
ClassA objA=new ClassA();
ClassC objC=new ClassC();
objA.displayA();
objC.displayC();
}
}
Output:
Class A
Class C
m=10
My question is in the above program even if the member (int m) in classA
in package1 is protected ,it is still accessed in the class PackageTest3.
I am not getting this.Can anyone help me?

No comments:

Post a Comment