MyThread 重载了start()当然会打印start
MyRunnable 被合成在Thread里,当Thread执行start时,就会调用Runnable的run()

解决方案 »

  1.   

    MyThread 重载了start()当然会打印start
    MyRunnable 被合成在Thread里,当Thread执行start时,就会调用Runnable的run()
    -------
    说得对,我也来学习一下
      

  2.   

    MyThread中你重载了start(),run()方法,但你的start()方法中只打印了"MyThread:start()",而没有调用启动线程的方法,所以你的run()方法内的语句不会运行对MyRunnable,Runnable接口本身只定义了run(),所以用new Thread(Runnable)建立线程的时候你的MyRunnable中的start()方法Thread是不管的,它只负责执行你定义的run()中的语句,自然,他输出的就是"MyRunnable:run()"MyThread的start()方法你可以这样修改就OK了
    public void start()
    {
       System.out.println("MyThread:start()");
       super.start();         //调用超类方法启动线程
    }