gpt4 book ai didi

java - 访问 protected 成员

转载 作者:行者123 更新时间:2023-12-01 10:57:55 25 4
gpt4 key购买 nike

我对此很困惑。谁能告诉我为什么它不允许我放置了 n 条评论的代码

package pack1;
public class A {
protected void m1() {
System.out.println("This is very imp point");
}


package pack2;
import pack1.A;
class B extends A {
public static void main(String arg[]) {
// A a1 = new A();
//a1.m1();
B b1 = new B();
b1.m1();
//A a2 = new B();
//a2.m1(); }
}
}

最佳答案

方法m1 protected ,因此它可以跨包访问到子类。

因此,B 的实例将能够调用 @Override m1

并非如此 main static 方法,即使属于类 B:范围不同。

您可以在 A 中将 m1 公开,或者在 B 实例中调用它(例如在构造函数中等) 。

可以覆盖 B 中的 Am1 并给予其较少的访问限制,从而使在此实例中它是 public :然后您可以像您尝试的那样从 main 方法在 B 实例上访问它。

关于java - 访问 protected 成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33523116/

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