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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.itcast.day1;

  2. public class Test1 {
  3.         public static void main(String[] args) {
  4.                 new Thread(new Runnable(){
  5.                         public void run(){
  6.                                 System.out.println("runnable run");
  7.                         }
  8.                 })
  9.                 {
  10.                         public void run(){
  11.                                 System.out.println("subthread run");
  12.                         }
  13.                 }.start();
  14.                
  15.         }
  16. }
复制代码

1 个回复

正序浏览
本帖最后由 freehello 于 2015-8-31 20:45 编辑

第一个Runnable是Thread构造函数的一个参数,第二个 覆写了Thread的run方法,
因此实际执行的是第二个 。
这个是jdk源码Thread.java中的代码
  @Override
    public void run() {
        if (target != null) {       //这里的target就是传递的参数,既第一个Runnable
            target.run();
        }
    }
这个被第二个覆写了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马