簡體   English   中英

在類之間傳遞變量的最佳方法?

[英]Best way to pass variables between classes?

private boolean shouldBank;
private boolean started;
private long startTime;
private String areaChoice;

private FishingArea fishingArea;

public Fishing (Main s) {
    this.s = s;
}

public void onStart() {
    FishingMenu menu = new FishingMenu();
    menu.setVisible(true);

    started = true;
    startTime = System.currentTimeMillis();//Gets time in milliseconds and stores it in a variable.

    if(menu.exit) {
        s.log("Script aborted. Exiting.");
        s.stop(false);
    }

    shouldBank = menu.shouldBank;
    fishingArea = menu.fishingArea;
    areaChoice = menu.areaChoice;
}

相關釣魚菜單代碼:

btnStart.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {                
            fishingArea = fishingAreas[cmbArea.getSelectedIndex()];
            areaChoice = cmbArea.getSelectedItem().toString();

            shouldBank = chkBank.isSelected();

            exit = false;
            dispose();
        }
    });

我有FishingMenu,用戶可以在其中選擇他們的選項,並且在整個第一堂課中都會使用這些選項。 我現在處理的方式是將菜單類中的所有相關變量設置為public,然后在主類中創建變量,並將其設置為等於菜單中的變量,如onStart()底部所示。 我知道這是一個非常糟糕的方法,但是我不確定是否有更好的方法。 我也不確定在這樣的第一類(shouldBank,started,...等)類作用域中提供前四個變量是否正確,但是我在整個類中都使用它們,而且我不知道有更好的方法。 對這兩個問題有什么建議嗎?

我嘗試做一些谷歌搜索,但是我不確定如何表達問題。

您可以將變量設為私有,並使用設置器設置值。 此外,您可以為Menu類創建ValueObjects。 另外,建議您提取ActionListener。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM