コードなど
package Day2021001;/*
*@author wanghongyuan
*@Create 2021/1/4 20:44
*/
/*
匿名内部类方式实现线程的创建
什么叫匿名:没有名字
什么叫内部类:写在其他类内部的类
匿名内部类的作用
把子类继承父类,重写父类的方法,创建子类对象合成一步完成
把实现类实现类接口,重写接口中的方法,创建实现类对象合成一步完成
匿名内部类的最终产物:子类/子类对象,并且这个类没有名字
格式:
new 父类/接口(){
重写接口/父类中的方法
}
*/
public class Demo01InnerThread {
public static void main(String[] args) {
// 线程的父类是Thread
// new MyThread().start
new Thread(){
// 重写run方法,设置线程任务
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println(Thread.currentThread().getName()+"-->"+i);
}
}
}.start();
// 线程的接口Runnable
// RunnableImpl r = new RunnableImpl();
Runnable r = new RunnableImpl();// 多态
new Runnable(){
// 重写run方法,设置线程任务
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println(Thread.currentThread().getName()+"-d->"+i);
}
}
};
// new一个Thread类对象,里面传递实现类对象,调用start开启线程。
new Thread(r){
}.start();
// 简化接口的方式
new Thread(new Runnable(){
// 重写run方法,设置线程任务
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println(Thread.currentThread().getName()+"-d22->"+i);
}
}
}){
}.start();
}
}