我在方法中创建了一个名为Strength的int。看起来有点像这样:
System.Runtime
和第二种方法:
public void Stats(){
int Strength = (int) Math.ceil(Math.random()*10);
int Stamina = (int) Math.ceil(Math.random()*10);
int Speed = (int) Math.ceil(Math.random()*10);
int Charisma = (int) Math.ceil(Math.random()*10);
这会产生错误。 Eclipse说我应该创建一个名为Strength的常量,但我不想这样做,因为我希望它能够改变。
我基本上只想在其他方法和其他类中使用int Strength。我该怎么做?
感谢。
答案 0 :(得分:1)
首先,我建议您更改变量名称,以便以小写字母开头,例如力量,耐力。这使得区分对象和变量更容易。你甚至可以遵循匈牙利表示法作为命名惯例。
当强度变量在函数Stats()中声明时,它只存在于其中,因此无法在其他地方引用,这就是为什么它建议你创建一个新的常量。
相反,在类的顶部,您应该声明整个类共有的变量。它们也应该是私有的,然后您提供通过getter和setter修改它们的权限。例如:
public class MyClass {
private int strength;
private int stamina;
...
public void Stats() {
strength = (int) Math.ceil(Math.random()*10);
stamina = (int) Math.ceil(Math.random()*10);
...
}
public void getStrength() {
return strength;
}
public int setStrength(int s) {
strength = s;
}
}
另外,如果按照建议声明变量,在许多IDE中都有一个选项可以自动创建可以节省时间的getter和setter。
答案 1 :(得分:0)
您应该创建类属性,以便可以访问所有(非静态)类方法。调整代码以遵守Java代码约定(变量和方法名称必须以小写字符开头)。
public class MyClass {
private int strength;
private int stamina;
private int speed;
private int charisma;
public void stats(){
strength = (int) Math.ceil(Math.random()*10);
stamina = (int) Math.ceil(Math.random()*10);
speed = (int) Math.ceil(Math.random()*10);
charisma = (int) Math.ceil(Math.random()*10);
}
public int getStrength(){
return strength;
}
}