关于Thread类的getName()

来源:2-5 Java线程-隋唐演义实战开发---关键先生

慕斯卡4106679

2015-11-30 16:22

这里为什么是Thread.currentTread().getName()。前面章节演员类是直接getName()的。

这里为什么不直接写System.out.println(getName()+"开始了战斗").

写回答 关注

2回答

  • sxian_wang
    2015-12-01 18:09:27
    已采纳

    其实就是this.getName();这个类是Thread的成员函数,这个方法在Thread中已经实现了,所以在子类中可以直接调用。这两种写法没有本质上的区别,都是指当前对象的xxxx。在实际开发中,加不加this,我没有查到有一种确切结论,更多是个人习惯吧。不过貌似在访问当前对象的属性(变量)的时候一般多用this;而在对象内部调用非静态方法时不用this,直接用函数名调用。

  • sxian_wang
    2015-11-30 20:59:40

    因为getName()是Thread类的方法。在关键先生这一节中,军队的线程是使用Runnable接口实现的,Runnable接口中没有getName()这个方法,所以要使用currentThread()返回一个当前线程去调用getName()方法。至于在使用extends Thread实现的线程中,使用Thread.currentThread().getName()和getName()是一样的。作者在这一节都使用Thread.currentThread.getName()应该是为了代码一致吧。

    慕斯卡410... 回复收拾好鑫情

    谢谢了

    2016-01-07 17:00:17

    共 3 条回复 >

深入浅出Java多线程

带你一起深入浅出多线程,掌握基础,展望进阶路线

186088 学习 · 464 问题

查看课程

相似问题