一,java中除了用new以外,还有什么方法来创建对象!
二,java中除了start()和run()外还有什么能启动线程!

解决方案 »

  1.   

    在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
      

  2.   

    谢谢folio!
     第一个问题算是解决了,可第二个……
      

  3.   


    java中只能用start()方法去启动线程
    start()方法会去调用你实现的run()方法
    但不是直接调用run()方法
      

  4.   

    run()也可以的
    老版本中只能用start另外一個是java.util.concurrent.Executor (1.5及以上版本)
      

  5.   

    用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");
    }
    }
      

  6.   

    就是run()   或者在sleep(x)的 时间过时了也可以自己再开始跑
    还有wait的.