《銀河破裂者》Steam首發價80元,超超超長髮售預告片放出
阿新 • • 發佈:2021-10-14
三種方式的演化
Thread構造方法如下
public Thread(Runnable target) {
init(null, target, "Thread-" + nextThreadNum(), 0);
}
Runnable 是一個介面
@FunctionalInterface
public interface Runnable {
public abstract void run();
}
呼叫對比:
public class App { public static void main(String[] args) { //default new Thread(new Task()).start(); //匿名內部類 new Thread(new Runnable() { @Override public void run() { System.out.println("002"); } }).start(); //Lambda表示式 new Thread(() -> { System.out.println("003"); }).start(); } } class Task implements Runnable { @Override public void run() { System.out.println("001"); } }
匿名內部類 vs Lambda表示式
所以,不是所有使用匿名內部類的地方都可以使用Lambda表示式代替。
ref: https://www.geeksforgeeks.org/difference-between-anonymous-inner-class-and-lambda-expression/