黑马程序员技术交流社区

标题: 关于Thread匿名类的详细说明 [打印本页]

作者: shaoshuai    时间: 2015-2-5 11:14
标题: 关于Thread匿名类的详细说明
问题来源于ziyu0971 同学的帖子:http://bbs.itheima.com/thread-169016-1-1.html,首先从结构上来说是不推荐这种写法的,可读性差,不利于交流,这段代码其实是看你对匿名类中子类重写父类方法的掌握。
首先代码先format下:
  1. new Thread(new Runnable() { // 匿名
  2.                         public void run() {
  3.                                 System.out.println("runnable run");
  4.                         }
  5.                 }) {
  6.         public void run() {
  7.                 System.out.println("subthread run");
  8.         }
  9. }.start(); // 结果:subthread run
复制代码


这段代码其实就是启动了一个继承了Thread的匿名类线程,然后重写了run方法,在run方法里面打印了subthread run,那么肯定是调用是subthread的run方法,不是调用Thread里面的run方法,也就不会调用new Runnable子类的run方法了,就是这样。

作者: ziyu0971    时间: 2015-2-5 11:48
谢谢,结果是调用了subthread run方法。




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