高分求解俩个小问题!

cz61919345 2009-09-15 10:22:14
一,java中除了用new以外,还有什么方法来创建对象!
二,java中除了start()和run()外还有什么能启动线程!
...全文
118 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cattallen 2009-09-16
  • 打赏
  • 举报
回复
标记一下
lifeiscool 2009-09-16
  • 打赏
  • 举报
回复
mark..
ffqq58 2009-09-16
  • 打赏
  • 举报
回复
jf......
bea_java 2009-09-16
  • 打赏
  • 举报
回复
就是run()

或者在sleep(x)的 时间过时了也可以自己再开始跑
还有wait的.
lovecj6185 2009-09-16
  • 打赏
  • 举报
回复
用run和用start的概念完全不同
调用run方法,只是单纯的方法调用,并不会开辟一个新线程
用start,则先是开辟一个新线程,然后执行run方法。


public class Test8 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

TestThread t = new TestThread();
//t.start(); //start的话,打印结果是2
t.run(); //用run的话,打印结果是1

System.out.println(Thread.activeCount()); //求出活动线程数量
}

}
class TestThread extends Thread{
public void run(){
System.out.println("class TestThread 's thread");
}
}
shiyiwan 2009-09-16
  • 打赏
  • 举报
回复
run()也可以的
老版本中只能用start

另外一個是java.util.concurrent.Executor (1.5及以上版本)
[Quote=引用 3 楼 lovecj6185 的回复:]
java中只能用start()方法去启动线程
start()方法会去调用你实现的run()方法
但不是直接调用run()方法
[/Quote]
lovecj6185 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 cz61919345 的回复:]
一,java中除了用new以外,还有什么方法来创建对象!
二,java中除了start()和run()外还有什么能启动线程!
[/Quote]

java中只能用start()方法去启动线程
start()方法会去调用你实现的run()方法
但不是直接调用run()方法
cz61919345 2009-09-15
  • 打赏
  • 举报
回复
谢谢folio!
第一个问题算是解决了,可第二个……
folio 2009-09-15
  • 打赏
  • 举报
回复
在Java程序中,对象可以被显式地或者隐含地创建。创建一个对象就是指构造一个类的实例,前提条件是这个类已经被初始化。有4种显式地创建对象的方式:
1、用new语句创建对象,这是最常用的创建对象的方式。
2、运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。
3、调用对象的clone()方法。
4、运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法。

详见:http://book.csdn.net/bookfiles/49/100491550.shtml

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧