[英]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.