如何从另一个类访问变量getter和setter

时间:2015-02-21 16:23:24

标签: java

我有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个数字变量。

2 个答案:

答案 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
}