class ThreadTest extends Thread{
    Thread t;
    public ThreadTest(){
         t=new Thread(this);
    } 
}为什么要加这个 this对象 呢??? 我明白this 是返回引用这个方法的自身对象,但用这里有什么意思

解决方案 »

  1.   


    class Son extends Thread {
    Thread t;
    public Son(){
    t = new Thread(this);
    }
    public void run(){
    Conica.pl("i love this thread.");
    }
    public static void main(String[] args){
    Son son = new Son();
    son.t.start();
    }
    }楼主可以观察,这段程序的输出是:i love this thread.
    若t = new Thread()的话,
    则没有任何输出。
    创建本类一个线程: qq14923349(剑神)  正确
      

  2.   

    public class ThreadTest extends Thread {
        
            Thread t;
            private static int i = 0;
            public ThreadTest(){
                 t = new Thread(this);
                 t.run();
            } 
        
            public void run() {
                System.out.println(i++);
            }
            
            public static void main(String[] args) {
                new ThreadTest();
                new ThreadTest();
            }
    }
      

  3.   

    public class ThreadTest extends Thread {    Thread t;    private static int i = 0;    public ThreadTest() {    }    public void run() {
            System.out.println(i++);
        }    public static void main(String[] args) {
            new ThreadTest().start();
            new ThreadTest().start();
        }
    }
      

  4.   

    也就是创建本类线程,如果没有this,它将创建父类线程,而父类线程的RUN方法没有任何输出语句,也以也就没有什么输出了!
      

  5.   

    public class Son extends Thread {
        
            Thread t;
            private int i = 0;
            public Son(){
                 t = new Thread(this);
                 t.run();
            } 
        
            public void run() {
                System.out.println(i++);
            }
            
            public static void main(String[] args) {
               Son a=new Son();
               Son b=new Son();
               a.start();
               b.start();
            }
    }
    请问这个的输出是多少?哪位能给我讲一下STATIC的作用和用法?