另一个Java / Android新手......
我的活动包含我已定义的类变量的转换... public Teams theTeams = null; 在这个Activity的onCreate方法中,我创建了该类的对象...... 团队theTeams =新团队(); 我已经能够对这个对象做出一些改变...... theTeams.setName(“A”,“Jets”); ...将“喷气机”分配给班级中的字符串。 但是,从Activity的私有方法中,尝试引用“theTeams”会给我一个空指针错误。我想有一些关于对象可见性的东西,我不理解。有人可以澄清吗?
答案 0 :(得分:2)
您先申报public Teams theTeams = null;
然后在onCreate
方法中,你有了这个
Teams theTeams = new Teams();
因此,您要在theTeams
内初始化Team
类型的新onCreate
对象,您只能在onCreate
的范围内看到该对象。
因此,当您在私有方法中调用theTeams
上的方法时,该方法将在您首先在onCreate
之外声明的对象中调用(仍然为空)
所以在你的onCreate
内,你必须使用:
theTeams = new Teams();
以下内容应该有效(未经测试):
private Teams theTeams = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
theTeams = new Teams();
}
private void myMethod() {
theTeams.getName();
}