Java-如何在一个类中的几个方法中使用更改/修改的变量?
当我希望一个方法初始化一个变量,另一个方法使用该初始化变量时,局部变量的概念有点难以理解 范例Java-如何在一个类中的几个方法中使用更改/修改的变量?,java,variables,instance-variables,local-variables,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
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
但我不确定这是做什么的,也不确定它的目的。我相信我确实需要对变量做一些事情,然后在程序的其他部分使用这些修改过的变量
有人能帮我吗?谢谢。如果要在创建对象时初始化属性,有两个选项:
- 默认值
int startAngle = 90
- (所有)建造商的转让
除此之外,如果您想检查在当前方法之前是否调用了其他方法,您应该自己编写程序(例如,必须调用的方法首先设置属性,而另一个方法检查属性)。我认为您不了解局部变量是什么。在您的示例中,
angleMethod()
中的angle
与methodTwo()
中的angle
不同(据我所知,基于提供的代码,尽管我不知道您在哪里声明角度)
我想这就是你想要的:
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.
}
}
请告诉我们更多的细节,你正试图做什么,为什么,因为它似乎困惑(至少对我来说)。请给我们看看你的真实代码。类是什么时候构造的,是什么构造的?什么时候,谁调用这两个方法,它们总是一个接一个地调用吗?也许您希望使用常量值?我真的不知道。在你展示的“代码”中,你没有声明变量
angle
。谢谢你的回答,现在更清楚了,我太傻了