關于Thread類的getName()
這里為什么是Thread.currentTread().getName()。前面章節演員類是直接getName()的。
這里為什么不直接寫System.out.println(getName()+"開始了戰斗").
這里為什么是Thread.currentTread().getName()。前面章節演員類是直接getName()的。
這里為什么不直接寫System.out.println(getName()+"開始了戰斗").
2015-11-30
舉報
2015-12-01
其實就是this.getName();這個類是Thread的成員函數,這個方法在Thread中已經實現了,所以在子類中可以直接調用。這兩種寫法沒有本質上的區別,都是指當前對象的xxxx。在實際開發中,加不加this,我沒有查到有一種確切結論,更多是個人習慣吧。不過貌似在訪問當前對象的屬性(變量)的時候一般多用this;而在對象內部調用非靜態方法時不用this,直接用函數名調用。
2015-11-30
因為getName()是Thread類的方法。在關鍵先生這一節中,軍隊的線程是使用Runnable接口實現的,Runnable接口中沒有getName()這個方法,所以要使用currentThread()返回一個當前線程去調用getName()方法。至于在使用extends Thread實現的線程中,使用Thread.currentThread().getName()和getName()是一樣的。作者在這一節都使用Thread.currentThread.getName()應該是為了代碼一致吧。