A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

new Thread
(
new Runnable()
{
        public void run()
        {
                System.out.println(Thread.currentThread().getName());
        }
}
).start();


评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 神马都是浮云

查看全部评分

10 个回复

倒序浏览
是在main方法里的还是在类里面的,楼主可不可以把全部代码发过来,一起研究一下
回复 使用道具 举报
本帖最后由 、__WSD吴少东 于 2013-5-14 18:06 编辑

这个是不是匿名类中再加匿名内部类,然后覆写run()方法,行驶可行,可是.....

你不觉得...用的时候很麻烦么?   
回复 使用道具 举报
、__WSD吴少东 发表于 2013-5-14 18:05
这个是不是匿名类中再加匿名内部类,然后覆写run()方法,行驶可行,可是.....

你不觉得...用的时候很麻烦 ...

哈哈,是有点麻烦~
回复 使用道具 举报
xr782271574 发表于 2013-5-14 18:07
哈哈,是有点麻烦~

一般这种方法,只适用于调用一次方法的时候,你要再线程里搞这个....我很佩服你的手指头....不累么?
回复 使用道具 举报
  1. //Thread的调用过程。
  2. class Thread{
  3.         private Runnable r;
  4.         Thread(){}
  5.         Thread(Runnable r){
  6.                 this.r = r;
  7.         }
  8.         public void run(){
  9.                 if(r!=null)
  10.                         r.run();
  11.         }
  12.         public void start(){
  13.                 run();
  14.         }
  15. }
复制代码
可以的。
将匿名内部类作为实参传入Thread()中,new Runnable()是实现Runnable接口的子类对象,并覆写了Runnable中的run方法,外层的Thread类的子类对象调用start方法,实现Runnable内run方法的调用。
参考上述调用过程可以帮助理解。


回复 使用道具 举报
本帖最后由 尹丽峰 于 2013-5-14 18:39 编辑

package heima;
public class Demo2 extends Thread

{
public static void main(String[]args)
{
  new Thread
  (
  new Runnable()
  {
          public void run()
          {
                  System.out.println(Thread.currentThread().getName());
          }
  }
  ).start();
  new Thread
  (
    new Runnable()
    {
     public void run()
     {
      System.out.println(Thread.currentThread().getName());
     }
    }
  ).start();

}
}
可以这么写
回复 使用道具 举报
、__WSD吴少东 发表于 2013-5-14 18:12
一般这种方法,只适用于调用一次方法的时候,你要再线程里搞这个....我很佩服你的手指头....不累么? ...

只用一次,才这样写,其他时候都不这样写。
回复 使用道具 举报
许智敏 发表于 2013-5-14 18:18
可以的。
将匿名内部类作为实参传入Thread()中,new Runnable()是实现Runnable接口的子类对象,并覆写了Run ...

谢谢,哥们:handshake
回复 使用道具 举报
尹丽峰 发表于 2013-5-14 18:31
package heima;
public class Demo2 extends Thread

谢谢兄弟指导~:)
回复 使用道具 举报
这样写肯定可以的
new Runnable()
{
        public void run()
        {
                System.out.println(Thread.currentThread().getName());
        }
}
就是实现了Runable接口的匿名内部类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马