Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java受保护的变量可以在同一个包中访问而无需继承如何?_Java_Inheritance - Fatal编程技术网

Java受保护的变量可以在同一个包中访问而无需继承如何?

Java受保护的变量可以在同一个包中访问而无需继承如何?,java,inheritance,Java,Inheritance,请参见以下计划和评论: 请告诉我另一个类如何在没有继承的情况下访问受保护的成员?我已经编译并运行了这个程序 class Sample3 { final protected String Var1 = "Sample 3 Final Varaible"; final private String Var2 = "Sample 3 Final Varaible"; }//class Sample3 class Sample4 { public static void main(Str

请参见以下计划和评论:

请告诉我另一个类如何在没有继承的情况下访问受保护的成员?我已经编译并运行了这个程序

class Sample3
{
   final protected String Var1 = "Sample 3 Final Varaible";
   final private String Var2 = "Sample 3 Final Varaible";
}//class Sample3

class Sample4
{
 public static void main(String args[])
 {
    Sample3 s3=new Sample3();
    //System.out.println(s3.Var2);// Line 12 : this is not accessible as the Private member is being accessed 
    System.out.println(s3.Var1);//Line 13 : this access the protected member but i have not used inheritance between 2 classes Sample3 and Sample4
 }//end of main
}/class Sample4
Var1是类保护成员,Var2是类私有成员


我正在Sample4中创建Sample3的对象。第12行显然是一个错误,但它如何编译第13行?

这是正确的行为
protected
允许成员被同一包中的所有类看到,而不仅仅是子类。请参阅。

这是正确的行为
protected
允许成员被同一包中的所有类看到,而不仅仅是子类。请参阅。

记住按这种方式保护-默认+继承
Protected
access修饰符允许访问其他包中的同一个包+子类。

记住按此方式保护-默认+继承<代码>受保护访问修饰符允许在同一个包+其他包中的子类中进行访问