如何在Java中使用对象方法?

时间:2018-04-16 02:23:56

标签: java

我的任务是使用Java创建一个相当简单的基于骰子的棋盘游戏。我已经在构造函数中初始化了所有骰子对象,但是当我尝试从游戏类中的骰子类中获取方法时,我得到的错误(对象名称)无法解析。请原谅我,如果这个解释不清楚,但希望代码更有意义。在qwixx类的rollDice()方法中遇到错误。

public class qwixx {

    public qwixx() {
        dice white1 = new dice();
        dice white2 = new dice();
        dice red = new dice();
        dice yellow = new dice();
        dice green = new dice();
        dice blue = new dice();
    }

public void rollDice() {
        white1.rollDice();
        white2.rollDice();
        red.rollDice();
        yellow.rollDice();
        green.rollDice();
        blue.rollDice();
    }

}
public class dice {

String colour;
    int currentSide;

    public dice() {
        colour = "white";
        rollDice();
    }

public int rollDice() {
        currentSide = (int)(Math.random() * 6 + 1);
        return currentSide;
    }

}

1 个答案:

答案 0 :(得分:1)

构造函数中的所有变量必须在类级别声明

public class qwixx {
    // declare the dice variables at the class level (as 'fields')
    dice white1;
    // same for other dice : declare them here

    public qwixx() {
        // in the constructor you actually create the object and assign references to the class variables
        white1 = new dice();
        // idem for others
    }
}

了解班级中的所有方法如何能够访问这些字段。

否则,你的骰子引用只会在声明它们的方法中,在构造函数中可见,当然这不是你想要的,以及你的错误原因。