繁体   English   中英

Getter和Setter出现未知错误

[英]Having unknown error with Getters and Setters

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

http://pastebin.com/6AP4c6ii-A

http://pastebin.com/QCnWDnYs-B

有更多的代码,但是相对来说比较混乱而且很长,对此没有什么意义,并且正在研究改进我的编码的方法,这只是一个小项目。

任何帮助表示赞赏。

“我的代码去下一堂课”是否意味着您实例化了B堂课? 因为那时B类可能还有A的另一个实例,所以您将其设置为类选择。

它返回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)时正在创建一个全新的对象,对先前对象所做的任何更改都不会反映出来,因为这是一个新的新对象 ,因此其selectedClass属性被初始化为null 由于您没有预先设置即可获取该值,因此您将获得一个空值

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

编辑

如果要在多个实例之间共享同一变量,可以将它们设为static

private static String chosenClass = "";

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

public static String getChosenClass()
{
       return chosenClass;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM