Java - 如何在类中的多个方法中使用更改/修改变量?

时间:2012-03-12 22:59:37

标签: java variables instance-variables local-variables

当我想要一个方法初始化变量和另一个方法来使用该初始化变量时,局部变量的概念有点难以理解。

实施例

public class abc

public int startAngle;

public void angleMethod(){
startAngle = 90;
angle = startAngle;
}

public void methodTwo(){
anotherVar = angle + 10;   //I want this angle to be initialized to 90

是否可以通过第一种方法将角度初始化为90?我想要的原因是我可以将我想要做的事情分解为更小的单个方法。

我尝试在第二种方法中将变量作为参数传递,如:

public void methodTwo(int angle)

但这没效果。

我读过使用

 this.angle = angle 

但我不确定这是做什么或它的目的。我相信我确实需要对变量做一些事情,然后在程序的其他部分使用这些修改过的变量。

任何人都可以帮助我吗?感谢。

2 个答案:

答案 0 :(得分:1)

我认为你不了解局部变量是什么。在您的示例中,angle中的angleMethod()angle中的methodTwo()不同(据我所知,基于提供的代码,尽管我看不到你宣布了​​角度。)

我认为这样的事情就是你想要的:

public class abc
{
    //Declare class-scoped variables, accessible by all class methods.  Could be public or private.
    public int startAngle;

    //constructor - initialize vars here
    public abc()
    {
        startAngle = 90;
    }

    public void method()
    {
        int angleVar = startAngle + 10; //startAngle will be 90.
        //angleVar will be 100;
        //angleVar can only be accessed inside this method.
    }
}

答案 1 :(得分:0)

如果要在创建对象时初始化属性,则有两个选项:

  • 默认值

    int startAngle = 90
    
  • 在(所有)构造函数中的分配

除此之外,如果你想检查在当前方法之前是否已经调用了其他方法,你应该自己编程(例如,必须首先调用的方法设置一个属性,另一个检查它)