如何从其他类中获取变量的值?

时间:2013-05-15 22:31:12

标签: java variables

我的Counter Class中有一个公共整型变量(MainReg)。我想得到这个变量的值,并在我的JComponent类中设置它。这是我的JComponent类的一部分:

public class Komponent2 extends JComponent implements ActionListener
{
Counter counter3;
.
.
.
int a = counter3.valueOf(MainReg);

但它不起作用。我也试过了:

int a = valueOf(counter3.MainReg);
int a = counter3.valueOf(counter3.MainReg);
int a = counter3.MainReg;

但它仍然无效。我怎样才能得到这个变量?谢谢你的帮助。

修改

这是我的Counter类:

 import java.util.Observable ;
public class Counter extends Observable
{
    public int MainReg;
    public int CompareReg;
    public Mode countMode;
    public boolean OVF;
    private int a=0;

public Counter()
  {
    OVF=false;
  }
public void setCompareReg(int dana)
  {
    CompareReg=dana;
  }
public void setMainReg(int dana2)
  {
    MainReg=dana2;
  }
public void setMode(Mode countMode)
  {
    this.countMode=countMode;
  }
public void Count()
  {
   if (countMode==Mode.UP)
   {
    MainReg++;
    OVF=false;
    if (CompareReg < MainReg)
    {
     OVF=true;
     MainReg=0;
     setChanged();
     notifyObservers();
    }
   }
   else if (countMode==Mode.UPDOWN)
   {     
    if(MainReg >= CompareReg)
    {
     a=MainReg;     
     MainReg--;
     OVF=true;
    }
    else
    {
     if(MainReg >= a)
     {
      MainReg++;
      OVF=false;
     }
     else
     {
      MainReg--;
      if(MainReg==0)
      {
       a=0;
      }
      OVF=false;
     }
    }
   }
   else if (countMode==Mode.CONTINOUS)
   {
    MainReg++;
    OVF=false;
    if (65536 < MainReg)
    {
     MainReg=0;
     OVF=true;
    }
   }
  }
 }

2 个答案:

答案 0 :(得分:1)

我发现有两种方法可以做到这一点。

  1. 您的MainReg整数是公共的,您只需使用int i = counter3.MainReg;
  2. 或者您可以在Counter类中创建一个getMainReg()方法。然后从任何一个班级调用它。

    EX:

    public int getMainReg(){       归还.MainReg;    }

答案 1 :(得分:0)

提供Counter类getter方法,然后在需要访问其值时调用它们。即,

public int getMainReg() {
   return mainReg;
}
public int getCompareReg(){
   return compareReg;
}
public Mode getCountMode() {
   return countMode;
}

让你的字段全部私密。此外,您的代码应遵守Java命名规则:变量名称应以小写字母开头。

还要确保您已在使用它的类中初始化计数器变量,方法是创建新实例,或者在适当的情况下,在构造函数或方法参数中传入有效实例。