public class ThreadNoNameTest {
public static void main(String[] args) {
// 匿名内部类的语法格式:父类/接口类型 引用变量名 = new 父类/接口类型() { 方法的重写 };
// 1.使用继承加匿名内部类的方式创建并启动线程
/*Thread t1 = new Thread() {
@Override
public void run() {
System.out.println("张三说:在吗?");
}
};
t1.start();*/
// 优化1
new Thread() {
@Override
public void run() {
System.out.println("张三说:在吗?");
}
}.start();
// 优化2(错误)->Target type of a lambda conversion must be an interface
// lambda转换的目标类型必须是接口
// Java8开始支持lambda表达式: (形参列表)->{方法体;}
//Thread t1 = () -> System.out.println();
System.out.println("-------------------------------------------");
// 2.使用实现接口加匿名内部类的方式创建并启动线程
/*Runnable ra = new Runnable() {
@Override
public void run() {
System.out.println("李四说:不在。");
}
};
Thread t2 = new Thread(ra);
t2.start();*/
// 优化1
/*new Thread(new Runnable() {
@Override
public void run() {
System.out.println("李四说:不在。");
}
}).start();*/
// 优化2
// Java8开始支持lambda表达式: (形参列表)->{方法体;}
/*Runnable ra = ()-> System.out.println("李四说:不在。");
new Thread(ra).start();*/
// 优化3
new Thread(()-> System.out.println("李四说:不在。")).start();
}
}