1
我已經寫了一個java類的倒計時時鐘。我的階級是這樣的:Java與線程倒計時
public class CountDown implements Runnable {
...
@Override
public void run() {
// The functionality of the clock.
}
...
}
現在,當我想從另一個類運行倒計時,我用這個代碼
(new Thread(new CountDown(10))).start;
我的問題是:
難道是更好,如果我改變這樣的班級:
public class CountDown {
...
public void start() {
new Thread(new Runnable(){
@Override
public void run(){
// The functionality of the clock.
}
).start();
}
...
}
然後這樣從另一個類調用它:
new CountDown(10).start();
首先請神,不要做第二次,因爲它是可憎的。 –
@Hovercraft完整的鰻魚好的。一個解釋將是很好的。 – Thanasis
1)當它實際上不是Runnable時,你正在使類實現Runnable。 2)你通過不必要的強制實現細節來使代碼變得僵化。例如,現在沒有辦法使用CountDown和更新的併發結構。 3)調用類無法控制或訪問Thread對象... –