gpt4 book ai didi

java - 如何访问父类(super class)动态对象的 protected 成员变量

转载 作者:太空宇宙 更新时间:2023-11-04 10:07:27 24 4
gpt4 key购买 nike

说明 - 正如您所看到的,下面的代码是一个包中作为 API 的父类(super class),以及另一个包中的子类,现在我想要做的是访问子类中“level”变量的值。

问题是父类(super class)没有下面提到的变量的任何 getter,因为它只包含 setter,所以当我尝试使用子类访问该值时,它总是给出“Debug”作为值。

然而,在 Eclipse 中调试时,它显示原始运行时值。我怎样才能实现这一点

public class CustomLogger {

protected String level = "Debug";
protected String category;

}

public class DisplayLogger extends CustomLogger{

public void childMethod(){
CustomLogger customLogger = someMethod(); // Return object at runtime
customLogger.level; // give compiletime error as is protected
System.out.println(this.level); // gives always "Debug" as output
}
}

最佳答案

你可以通过反射来做到这一点。其他选项是创建公共(public) getter/setter。

关于java - 如何访问父类(super class)动态对象的 protected 成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52757743/

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