2010-11-16 47 views
0

警報父母我在J​​ava中的以下設置,Java中,對對象的變化

public class Main { 

    // starts sub class 
    SubClass sub = new SubClass(); 
    sub.start(); 

    // sub will keep running and call method alert() on a specif change 
    // method alert is void but updates a public variable named status on sub 
    while(1==1) { 

     // I should ideally be able to catch/read sub status result here 
     // how can I do it? 
    } 
} 

我是新來的Java所以這可能是無效的,我的做法可能是錯誤的。既然如此,請指向正確的方向。

謝謝。

+0

你的問題是什麼? – 2010-11-16 23:15:07

回答

0

,你應該把你的代碼放到一個主要方法:)

2

我相信SubClass.start()啓動,以便家長在與孩子並行運行啓動一個新線程。然後主類可以在sub對象上執行Object.wait(),並且​​線程可以在sub對象上執行Object.notify()

+0

我認爲世界上只有兩個人能夠正確使用Object.notify(),而我們其他人則打算使用Object.notifyAll()。 – 2010-11-17 03:59:15

0

如果你的子類是沒有一個Runnable,

public class Main 
{ 
    public static void main(String args[]) 
    { 
     Thread myThread = new Thread(new Runnable() 
     { 
      public void run() 
      { 
       //Instantiate your SubClass here and do stuff. You can pass yourself as a parameter if you plan to do callbacks. 
      } 
     }); 
     myThread.setDaemon(true); 
     myThread.start(); 
    } 
} 

或者,如果你已經實現在子類中的Runnable接口則只需使用的線程機制(wait()的,通知(),等等等等)。