进阶day06-匿名内部类实现多线程(重点掌握)

This commit is contained in:
2026-03-07 14:29:40 +08:00
parent 530da7f279
commit bb595f2be5
2 changed files with 66 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
package com.inmind.noname_thread03;
/*
1.匿名内部类的语法:
new 父类名|接口名(){
要重写的方法
}
2.匿名内部类的作用:将父类或者接口的子类(实现类)的定义和对象的创建用一段代码操作完毕
匿名内部类一定是多态
3.线程的启动方式
1.继承Thread
2.实现Runnable
*/
public class Demo03 {
public static void main(String[] args) {
//普通写法
MyThread myThread = new MyThread();
myThread.start();
//匿名内部类启动多线程方式一 (继承Thread)
Thread thread1 = new Thread(){
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"线程启动了");
}
};
thread1.start();
//匿名对象启动多线程(最终形态)
new Thread(){
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"线程启动了");
}
}.start();
//------------------------------------------------------
//匿名内部类启动多线程方式二 (实现Runnable)
Runnable runnable = new Runnable(){
@Override
public void run() {//新的线程要执行的任务代码
System.out.println(Thread.currentThread().getName()+"线程启动了");
}
};
Thread thread2 = new Thread(runnable);
thread2.start();
//匿名对象启动多线程方式二(重点!!!!!!!)(最终形态)
new Thread(new Runnable(){
@Override
public void run() {//新的线程要执行的任务代码
System.out.println(Thread.currentThread().getName()+"线程启动了");
}
}).start();
}
}

View File

@@ -0,0 +1,9 @@
package com.inmind.noname_thread03;
public class MyThread extends Thread{
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"线程启动了");
}
}