課程
/后端開發
/Java
/深入淺出Java多線程
這里為什么是Thread.currentTread().getName()。前面章節演員類是直接getName()的。
這里為什么不直接寫System.out.println(getName()+"開始了戰斗").
2015-11-30
源自:深入淺出Java多線程 2-5
正在回答
其實就是this.getName();這個類是Thread的成員函數,這個方法在Thread中已經實現了,所以在子類中可以直接調用。這兩種寫法沒有本質上的區別,都是指當前對象的xxxx。在實際開發中,加不加this,我沒有查到有一種確切結論,更多是個人習慣吧。不過貌似在訪問當前對象的屬性(變量)的時候一般多用this;而在對象內部調用非靜態方法時不用this,直接用函數名調用。
因為getName()是Thread類的方法。在關鍵先生這一節中,軍隊的線程是使用Runnable接口實現的,Runnable接口中沒有getName()這個方法,所以要使用currentThread()返回一個當前線程去調用getName()方法。至于在使用extends Thread實現的線程中,使用Thread.currentThread().getName()和getName()是一樣的。作者在這一節都使用Thread.currentThread.getName()應該是為了代碼一致吧。
慕斯卡4106679 提問者
收拾好鑫情 回復 慕斯卡4106679 提問者
慕斯卡4106679 提問者 回復 收拾好鑫情
舉報
帶你一起深入淺出多線程,掌握基礎,展望進階路線
1 回答關于extends Thread類的問題
1 回答視頻中繼承Thread中的getname
1 回答關于Thread和Runnable
2 回答關于runnalbe 和thread 的區別
1 回答線程類內部run()的getName()
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
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()應該是為了代碼一致吧。