从不同的类访问方法

时间:2014-05-18 13:21:20

标签: java class methods

我试图从另一个班级打电话给班级。对象工作正常,但由于某种原因,它没有完成操作。

我正在进行黑杰克游戏,当用户输入正确的赌注时我需要一些按钮才能显示。这就是我所拥有的:

 public static void showButtons(Boolean x) { // to show or hide the buttons
            if(x) {
                hitButton.setVisible(true);
                standButton.setVisible(true);
                separator.setVisible(true);
            }
            else {
                hitButton.setVisible(false);
                standButton.setVisible(false);
                separator.setVisible(false);

           }
}

一旦下注被验证为整数,它就会通过:

private void bdButtonActionPerformed(java.awt.event.ActionEvent evt) { //bdButton is the bet button
        ...
        if(validBet(s)) {
            bet = Integer.parseInt(s); // parses input string into an int
            System.out.println("bet accepted"); // debug to know if it works this far
            NewRound nr = new NewRound();
            System.out.println("created object");
            nr.newHand(bet);
            //showButtons(true); // this works, it changes the buttons, but only from here
        }
        else {
            ...
        }
    }

这是newHand方法:

public static void newHand(int bet) {
        System.out.println("In newHand"); // debug
        BlackJack b = new BlackJack();

        b.showButtons(true);
        System.out.println("passed showButtons"); // the code gets to here, but buttons are still not visible
    }

2 个答案:

答案 0 :(得分:1)

您的newHand方法是静态的,因此应该使用类名调用它。

答案 1 :(得分:1)

该方法被声明为static,因此假设它是一个名为TestClass的类,您调用该方法的方式如下所示:

TestClass.newHand(int bet);

如果您希望能够致电

newHand(int bet);

在您当前的课程中,您需要使用静态导入,如下所示:

import static your.package.TestClass.newHand;

但我更喜欢第一种方式。