getter和setter有未知错误



我有一些代码是利用一个变量从一个类到另一个,我使用getter和setter,我检查,当我setClassName()之前改变类,它的工作,但我不能从其他类正确访问它,它返回null。

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

http://pastebin.com/QCnWDnYs—CLASS 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)时创建了一个全新的对象,你对以前的对象所做的任何更改都不会反映出来,因为这是一个新的对象,因此它的chosenClass属性被初始化为null。由于您在没有预先设置它的情况下获得该值,因此您将获得空值

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

编辑

如果您希望在多个实例之间共享相同的变量,您可以将它们设置为static:

private static String chosenClass = "";
public static void setChosenClass(String chosenClass)
{
       this.chosenClass= chosenClass;
}
public static String getChosenClass()
{
       return chosenClass;
}

"我的代码去下一个类"意味着你实例化类B吗?因为类B可能有另一个A的实例而不是你设置的类选择

最新更新