Java开发骰子桌游调用对象方法报错:无法解析对象名求助
解决Qwixx类中骰子对象无法解析的问题
嘿,这个问题我太熟啦!你遇到的“对象无法解析”错误,根源是变量作用域的问题哦~
问题原因
你在qwixx类的构造函数里创建的white1、white2这些dice对象,都是构造函数的局部变量——它们的作用范围只限于构造函数内部,rollDice()方法根本看不到这些变量,自然会报错“无法解析”。
解决方案
把这些骰子对象改成qwixx类的成员变量,这样类里的所有方法(包括rollDice())都能访问到它们。具体步骤如下:
- 在类的内部、所有方法之外声明
dice类型的成员变量; - 在构造函数里初始化这些成员变量(不用再重新声明类型)。
修改后的代码示例
public class qwixx { // 把骰子对象声明为类的成员变量 private dice white1; private dice white2; // 如果还有其他颜色的骰子,也在这里声明 public qwixx() { // 构造函数里只需要初始化成员变量 white1 = new dice(); white2 = new dice(); // 其他骰子的初始化同理 } public void rollDice() { // 现在就能正常调用dice类的方法啦 white1.roll(); white2.roll(); } } // 假设你的dice类大概是这样 class dice { public void roll() { // 骰子滚动的逻辑 } }
额外小建议
按照Java的命名规范,类名的首字母应该大写,比如把qwixx改成Qwixx,dice改成Dice,这样代码更易读,也能避免和其他标识符混淆哦~
内容的提问来源于stack exchange,提问作者JSON_Derulo
相关产品推荐
相关产品推荐

