进阶day06-匿名内部类实现多线程(重点掌握)
This commit is contained in:
57
javaSE-day06/src/com/inmind/noname_thread03/Demo03.java
Normal file
57
javaSE-day06/src/com/inmind/noname_thread03/Demo03.java
Normal 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();
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.inmind.noname_thread03;
|
||||
|
||||
public class MyThread extends Thread{
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
System.out.println(Thread.currentThread().getName()+"线程启动了");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user