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