this当然是自己了,不传this的话就会运行Thread的run方法,这个方法默认什么也不做。
既然你都继承了Thread,就应该  new  ThreadStateDemo().start();

解决方案 »

  1.   

    new  ThreadStateDemo().start();才会执行run()方法
    t  =  new  Thread(this);我也不大理解为什么要这样
      

  2.   

    如果该类没有继承Thread,而是实现Runnable接口
    就用 new Thread(this).start()
      

  3.   

    java.lang.Thread(java.lang.Runnable)
    new一个Thread可以用实现Runnable接口的类做参数
    Runnable接口有一个方法就是run()
    Thread会用这个run方法覆盖自身空的run方法
    而Thread implements Runnable
    所以继承Thread的类也实现了Runnable接口
      

  4.   

    按照楼上诸位的解释:
         如果我的类是:
             public class MyThread extends Thread{
              ....
                  Thread t=new Thread(this);//这个和Thread t=new MyThread();是等价的?
             }
         如果我的类只是实现接口:
             public class MyThread2 implements Runnable{
               ...
                   Thread t=new Thread(this);//就只有使用这种方法来实例我的类?
             }上面我理解的对不?
      

  5.   

    按照楼上诸位的解释:
    如果我的类是:
    public class MyThread extends Thread{
    ....
    Thread t=new Thread(this);//这个和Thread t=new MyThread();是等价的?
    }
    ------------------------------
    如果你的MyThread实现了run方法,则会使用MyThread的run方法
      

  6.   

    TO: jxj12345678(jxj)
    上面我理解的对不?
    ------------------
      

  7.   

    TO: jxj12345678(jxj)
    不能这样认为
    Thread t=new Thread(this);//生成两个实例
    Thread t=new MyThread();  //生成一个实例
      

  8.   

    我觉得new Thread(this)这种形式不是很好,在外部使用比较好
    就是Thread t=new MyThread();
    或者Thread t=new Thread(new MyThread());
      

  9.   


    Guten Tag  java.lang.Thread
    All Implemented Interfaces: 
    Runnable Thread作为一个类,实现了runnable接口,一个Thread对象属于一个runnable对象。
    Thread的构造函数有:
    1)public Thread(Runnable target)
    启动后执行target.run(),在这里也即是ThreadStateDemo对象的run()。故“Thread t = new Thread(this);”是正确的。2)public Thread()
    比如"Thread t = new Thread();”启动后执行t自身附带的run(),也即Thraed类的run(),因为Thraed类的run()实现为:
    run()
    {
    }//空函数
    所以什么都不会执行。因而,写成“ThreadStateDemo t = new ThreadStateDemo();”,启动后执行ThreadStateDemo类的run(),跟“Thread t = new Thread(this);”是殊途同归,都是正确的。
      

  10.   

    java.lang.Thread(java.lang.Runnable)
    new一个Thread可以用实现Runnable接口的类做参数
    Runnable接口有一个方法就是run()
    Thread会用这个run方法覆盖自身空的run方法
    而Thread implements Runnable
    所以继承Thread的类也实现了Runnable接口