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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© rekirt 中级黑马   /  2014-7-18 19:39  /  1022 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  new Thread(new Runnable(){
   @Override
   public void run(){
    System.out.println("实现Runnable接口");
   }
  }){
   @Override
   public void run(){
    System.out.println("继承Thread类");
   }
  }.start();

运行首先考虑继承的run,然后考虑实现接口的run

6 个回复

正序浏览
rekirt 中级黑马 2014-7-18 22:22:38
7#
黎志勇 发表于 2014-7-18 20:17
哪有同时继承Thread类和实现Runnalbe接口,你的程序中的只是个Thread子类的匿名对象,你所说的“实现了接口 ...

写着玩的。。就想看看到底谁会执行,,顺便混个积分,,
回复 使用道具 举报

:lol:lol:lol
回复 使用道具 举报
哈哈,,,
回复 使用道具 举报
安少康 来自手机 中级黑马 2014-7-18 20:30:24
板凳
楼主疯子
回复 使用道具 举报
本帖最后由 黎志勇 于 2014-7-18 20:26 编辑

哪有同时继承Thread类和实现Runnalbe接口,你的程序中的只是个Thread子类的匿名对象,你所说的“实现了接口”其实就是弄了个Runnabale子类的对象,作为参数构造上面提到的Thread子类的对象了。
原Thread类中的run方法会调用传进去的Runnalble对象的run方法,但是你的Thread子类把run方法重写了,直接打印了个字符串,那就是说,Runnable中的run方法完全多余了。
回复 使用道具 举报
这是两个方法吧亲
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马