我有3个班级
public class GameInfo
{
private int num;
public void setNum(int num){
this.num=num;
}
public int getNum(){
return num;
}
}
public class NewGame
{
public void foo(){
GameInfo g = new GameInfo();
g.setNum(10);
}
}
public class StartGame()
{
//i want to access the num in GameInfo being set by NewGame class. How to do that?
}
如果我在StartGame类中创建类GameInfo的新对象,如
GameInfo g = new GameInfo();
int number = g.getnum(); //it returns 0
我希望获得10个数字变量。
答案 0 :(得分:0)
num
的私有成员GameInfo
初始化为默认值为0。如果您想要返回其他内容,则必须在g.setNum(10)
之前致电g.getNum()
。
答案 1 :(得分:-1)
正弦 num 变量是 GameInfo 类的实例成员,因此每次创建 GameInfo <的新对象时/ strong>, num 的值将设置为默认值,即 0 。
因此,为了获得 10 作为 getnum() 方法的返回,您需要首先调用setter方法为< strong> setnum(10) 在同一个对象引用上。
public class StartGame() {
NewGame newGame = new NewGame();
newGame.foo(); // It sets 10, but this value will only be accessible from your NewGame's instance.
GameInfo info = new GameInfo();
info.setnum(10); // It sets num to 10
int number = info.getnum(); //it returns 10
}