[英]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.