所以我有三個類,一個是主GUI,一個是方法類,一個是登錄窗口類。Java無法獲得修改後的正確值Int
在我的方法類我在登錄窗口的動作偵聽器的按鈕有
public int IsLoggedOn = 0;
public int returnLoggedinValue(){
return this.IsLoggedOn ;
}
public int setLoggedOn(){
System.out.println("logged on ");
return 1;
}
我有
methodWin meth = new methodWin();
methodWin.IsLoggedOn = methodWin.setLoggedOn();
System.out.println("logged in value "+methodWin.IsLoggedOn);
然後再在動作監聽結束的主要圖形用戶界面,發起登錄窗口我有
methodWin meth = new methodWin();
int ar = meth.IsLoggedOn;
System.out.println("ar is "+ ar);
if (ar==1){
System.out.println("user is logged in");
jTextField1.setEnabled(true);
jButton1.setEnabled(true);
}
我遇到的問題是,如果我從登錄窗口打印出IsLoggedOn的值,它已將其正確地更改爲「1」,但隨後回到主GUI時,當我檢查IsLoggedOn的值時,我得到「0」
對不起, Java的東西,不太清楚爲什麼沒有看到變化
首先「堅持[Java編碼慣例](http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html)」。其次,您正在創建methodWin類的新實例以獲取不起作用的值。 – 2013-03-14 06:25:00
@HarryJoy你是對的。主要問題是這裏有兩個不同的對象。 – 2013-03-14 06:29:22
聲明int爲靜態工作 – user2168435 2013-03-14 06:36:58