gpt4 book ai didi

Java保护变量可以在同一个包内访问而不需要继承如何?

转载 作者:行者123 更新时间:2023-12-01 08:09:31 26 4
gpt4 key购买 nike

请参阅以下程序和评论:

请告诉我另一个类如何在不继承的情况下访问 protected 成员?我最后编译并运行了这个程序。

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 是类 protected 成员,Var2 是类私有(private)成员。

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

最佳答案

这是正确的行为。 protected 允许同一包中的所有类(而不仅仅是子类)看到该成员。请参阅http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html .

关于Java保护变量可以在同一个包内访问而不需要继承如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18556808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com