0

我有两个 Java 类:

董事会经理和董事会

BoardManager 是主要的类。里面有一块板:

    public BoardManager(){
        Board b = new Board();
    }

    public methodToBeCalled(){}

    public static void main(String[] args) {
        new BoardManager();
    }

板是用户界面。当用户按下界面上的按钮时,我希望它调用 BoardManager 类中的方法,但这显然会出现问题,我不确定如何解决它。

一种解决方案是将主要方法移到 Board 中,因此:

BoardManager boardManager;

    public Board(){}

    public void buttonPressed(){
        boardManager.methodToCall();
    }

    public static void main(String[] args) {
        boardManager = new BoardManager();
    }

但这只会引发关于静态和非静态等的错误。

解决方案?谢谢!

4

1 回答 1

0

要么:

class Board{
static BoardManager boardManager;

public Board(){}

public void buttonPressed(){
    boardManager.methodToCall();
}

public static void main(String[] args) {
    boardManager = new BoardManager();
}
}

或这个:

class Board {
BoardManager boardManager;

public Board(){ }

public void buttonPressed(){
    boardManager.methodToCall();
}

public static void main(String[] args) {
    Board b = new Board();
    b.boardManager = new BoardManager();
}
}

您不能从静态方法(main)调用非静态字段(BoardManager)。阅读有关static关键字的更多信息。

于 2013-05-03T05:24:09.267 回答