gpt4 book ai didi

java - java中的私有(private)范围和继承

转载 作者:行者123 更新时间:2023-11-29 04:35:32 24 4
gpt4 key购买 nike

考虑这个简单的 java 代码:

class A {
private int a = 10;

public void print() {
System.out.println(this.getClass().getName() + " " + a);

}
}

public class B extends A {
public void p1() {
print();
}

public static void main(String... args) {
B b = new B();
b.p1();
}
}

如果您将运行代码,打印的值为 B 10。我的问题是,如果当我们使用“private”修饰符时“a”没有被继承,但是方法是,那么现在类 B 中有方法 print() 但“a”不是类的一部分,因为它是私有(private)的,那么如何当我们试图通过说“a”的范围是私有(private)的来访问它时,编译器不会抛出错误吗?

最佳答案

class A 中的

print 可在 class B 中访问,因为它是 publicclass BA 类 的子级。

但是 class A 中的 print 可以看到 class A 中的所有字段,因为它是该类的一个方法。所以那个函数可以看到a,因此编译通过。

关于java - java中的私有(private)范围和继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41758576/

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