问答详情
源自:2-3 Java线程-隋唐演义实战开发---演员简介

new一个Actor类的对象赋给Thread类型的引用和赋给Actor类型的引用,效果是一样的

http://img2.mukewang.com/5a4600ef00013c6f07140412.jpg

哪种更好一点呢?

提问者:栗喵 2017-12-29 16:47

个回答

  • 慕瓜3357229
    2017-12-30 17:42:02
    已采纳

    如果都继承了Thread类的前提下,两种方式都可以创建一个线程对象,一般我们是使用第一种方式来创建线程对象(向上造型);PS:你的第二种方式是调用run方法,比不是让线程进入就绪状态(start());

  • 慕瓜3357229
    2017-12-30 18:07:54

    补充:如果你的Actor类继承了Thread类

    1. 第一种是向上造型(父类Thread引用子类Actor的对象),这种情况下不能通过此对象访问子类内部的方法(除了重写的父类的方法外)、变量等内容;所以说如果你在Actor类内部还有run方法以外的其他东西,通过此对象是无法访问的;

    2. 第二种,非向上造型,可以访问父类Thread的所有非私有方法及本类Actor内的所有内容;

      总结:两种方式不完全相同,访问权限不一致,如果你在Actor类内部只有run方法推荐使用方式一,如果你还需要访问其他方法及变量只能使用方式二;

      推荐参考:http://blog.csdn.net/shf4715/article/details/46848083