gpt4 book ai didi

java - Getters 和 Setters 出现未知错误

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

我有一些代码利用从一个类到另一个类的变量,我正在使用 getter 和 setter,并且我检查了当我在更改类之前 setClassName() 时它可以工作,但我无法从另一个类正确访问它类,它返回 null。

http://pastebin.com/6AP4c6ii ——A级

http://pastebin.com/QCnWDnYs -- B 级

还有更多代码,但相对困惑且冗长,我对此很菜鸟,正在研究改进我的编码的方法,这只是一个小项目。

感谢任何帮助。

最佳答案

它返回 null,因为您实际上从未设置该变量。

CLASSA Ccs = new CLASSA(gsm);
@Override
public void init() {
getFirstCompanion();

getVariables();

}

private void getVariables() {
classChoice = Ccs.getClassChoice();

System.out.println("Init, class is " + classChoice); //here, this returns as nothing, not null, nothing

}

您看,在声明new CLASSA(gsm)时,您正在创建一个全新的对象,您对先前对象所做的任何更改都不会反射(reflect)出来,因为这是一个全新的对象,因此其chosenClass属性被初始化为null。由于您是在没有事先设置的情况下获取该值,因此您将获得一个空值

希望我说得足够清楚,希望对您有所帮助!

编辑

如果您想在多个实例之间共享同一个变量,可以将它们设为静态:

private static String chosenClass = "";

public static void setChosenClass(String chosenClass)
{
this.chosenClass= chosenClass;
}

public static String getChosenClass()
{
return chosenClass;
}

关于java - Getters 和 Setters 出现未知错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23744943/

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