黑马程序员技术交流社区

标题: Java面试题 [打印本页]

作者: 章浩    时间: 2015-7-24 12:52
标题: Java面试题
以下哪些代码中,doStuff()会被执行:

A. New Thread(){
    Public voidrun(){
      doStuff();
    }
  }
B. New Thread(){
    Public voidstart(){
      doStuff();
    }
  }

C.  NewThread(){
    Public voidstart(){
      doStuff();
    }
   }
       Run();

D.  NewThread(){
    Public voidrun(){
      doStuff();
    }
  }
     Start();

E. New Thread(new Runable){
    Public voidrun(){
      doStuff();
    }
  }
     run();
F. New Thread(new Runable){
    Public voidrun(){
      doStuff();
    }
  }
     start();
作者: AllenIverson    时间: 2015-7-24 15:29
答案是:D和F,首先线程执行的代码是封装在run()方法中,其次是线程启动是调用start()方法。实现多线程有D和F两种方式。
D.new Thread(){
    Public void run(){
      doStuff();
    }
  }
     .Start();
F. new Thread(new Runable){
    Public voidrun(){
      doStuff();
    }
  }
     .start();
作者: 章浩    时间: 2015-7-24 23:27
AllenIverson 发表于 2015-7-24 15:29
答案是:D和F,首先线程执行的代码是封装在run()方法中,其次是线程启动是调用start()方法。实现多线程有D ...

十分感谢!!!!!!!!!!!!!!!!
作者: 人造番茄    时间: 2015-7-24 23:36
前来学习一番
作者: longbao    时间: 2015-7-24 23:52
还没学到线程,先收藏了
作者: 田利阳    时间: 2015-7-25 00:08
看不懂啊,,应该还没有学到这里...加油吧
作者: wanghua1    时间: 2015-7-25 00:15
顶顶顶顶顶顶顶顶
作者: halohoop    时间: 2015-7-25 00:22
赞一个。如果可以把Runnable和Thread的关系再讲一下就完美了!
作者: mortonwyj    时间: 2015-7-25 00:36
加油哦楼主
作者: mortonwyj    时间: 2015-7-25 00:39
楼主加油加油加油!!
作者: eayonh    时间: 2015-7-25 06:43

作者: yky1678    时间: 2015-7-25 07:52
  1. //实现Runnable接口覆写run方法
  2. new Thread(new Runnable(){
  3.         public void run(){
  4.                 doStuff();
  5.         }
  6. }).start();  //启动线程执行run方法
  7. //实现Runnable接口覆写run方法
  8. new Thread(new Runnable(){
  9.         public void run(){
  10.                 doStuff();
  11.         }
  12. }).run(); //手动调用线程的run方法

  13. //继承Thread类覆写run方法
  14. new Thread(){
  15.         public void run(){
  16.                 doStuff();
  17.         }
  18. }.start(); //启动线程执行run方法
  19. //继承Thread类覆写run方法
  20. new Thread(){
  21.         public void run(){
  22.                 doStuff();
  23.         }
  24. }.run(); //手动调用线程的run方法
复制代码


以上4种方式都可以执行run方法调用doStuff()方法,除了通过start()启动线程,你还可以手动的调用run方法呀!
作者: aa233192133    时间: 2015-7-25 10:22
还看不懂,才学到面向对象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2