线程创建的一种特殊用法

来源:互联网 发布:js触发onclick事件 编辑:程序博客网 时间:2024/06/06 11:02

  看别人的代码遇到Thread t1 = new Thread(){};,new一個线程,后面用大括号,里面还可以写方法,一般javase中创建线程只有两种方法呀,这种用法从来没见过呀~~~~经过查找资料终于理解了。。。。

Javase中创建线程的第一种方法

这里写图片描述

javase中创建线程的第二种方法

这里写图片描述

对Thread t1 = new Thread(){};的分析

  这是个匿名内部类,继承了Thread类,一般我们定义的类都是有名字的如 public class A extends Thread{},这个类的名字是A,它继承了Thread类,在{}中可以写一些方法,包括自定义的也包括重写父类。而 new Thread(){};这样的写法意思是有一个类,继承了Thread,因为这个类只用一次,因此不想给它起名字,所以就用这种匿名类的写法。当此匿名类也需要定义一些新的方法,或者重写父类的方法,就要在后面跟的大括号中完成。一般继承Thread类都需要改写的是run()方法。

  这里其实本质上用的是第一种方法。

  匿名内部类的优点是使代码变得简洁悦目。

一定要重视每一个遇到的小问题,都是成长的机会!!!

0 0
原创粉丝点击