java - 如何在 2 种方法中使用 int

标签 java int constants setter getter

我在方法中创建了一个名为 Strength 的 int。看起来有点像这样:

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);

还有第二种方法,如下所示:

public static int getStrength(){

    return Strength;
}

这会产生错误。 Eclipse 说我应该创建一个名为“强度”的常量,但我不想这样做,因为我希望它能够改变。

我基本上只想在其他方法和其他类中使用 int Strength。我该怎么做?

谢谢。

最佳答案

首先,我建议您更改变量名称,使其以小写字母开头,例如力量,耐力。这使得区分对象和变量变得更容易。您甚至可以遵循匈牙利表示法作为命名约定。

由于 Strength 变量是在函数 Stats() 中声明的,因此它只存在于该函数中,因此不能在其他地方引用,这就是为什么它建议您创建一个新常量。

相反,您应该在类的顶部声明整个类通用的变量。它们也应该是私有(private)的,然后您可以通过 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,这可以节省您的时间。

关于java - 如何在 2 种方法中使用 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34139542/

相关文章:

java - FC_COLS 的原始类型 int 没有字段 inBlockSize

java - Java 数组使用多少内存?

IF 内的 PHP 常量

c++ - 删除指向 const (T const*) 的指针

java - 难以理解为什么在尝试反转二叉树时必须创建一个新的临时 TreeNode

java - 你如何从一个用Java调用的php文件中获取返回值

c# - 在 C# 中从文件读取二维矩阵到二维 int 数组

java - 如何计算给定字符串中两个字符值的出现次数

c - `int` 类型大小 int C

C - 将返回变量设置为 const