A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱辉 黑马帝   /  2012-2-19 15:38  /  1553 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

创建一个线程并开启的时候
Ticket t = new Ticket();
Thread t1 =new Thread(t);t1.start();和new Thread(t).start();这两种写法是不是一样?有没有什么区别?

6 个回复

倒序浏览
没什么太大的区别  用第二个方式节省内存
回复 使用道具 举报
一样的,第一种写法有利于阅读。
回复 使用道具 举报
没有区别,都是在创建线程和启动线程。第二种是省略的写法,你拆开看明白了,这没什么的。
回复 使用道具 举报
没有区别,都是在创建线程和启动线程,相信你代码写多了以后会更习惯第二种写法。
回复 使用道具 举报
Thread t1 =new Thread(t);t1.start();这是创建一个t1的线程对象
new Thread(t).start();这是创建了一个匿名的线程对象
在作用上没有区别
回复 使用道具 举报
匿名对象执行完了,就找不到了(除非你执行的内容之中返回了this),
随用随丢,我觉得在大的程序里这很好,很流畅,需要什么功能就调用什么功能,
但是这些功能指的是静态的,要么调用类方法,要么造一个匿名对象调用非静态方法(我觉得这就相当于一个临时的静态了,随用随拿),
需要操作特有数据的,则定义实名对象,是长生命周期的对象
水平有限敬请不吝指正。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马