Tôi đã đọc qua một trong những hướng dẫn biểu thức lambda của Oracle, và đã xem qua đoạn mã sau:Bạn có thể triển khai giao diện trong khi khởi tạo không?
http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/Lambda-QuickStart/index.html
public class RunnableTest {
public static void main(String[] args) {
System.out.println("=== RunnableTest ===");
// Anonymous Runnable
Runnable r1 = new Runnable(){
@Override
public void run(){
System.out.println("Hello world one!");
}
};
// Lambda Runnable
Runnable r2 =() -> System.out.println("Hello world two!");
// Run em!
r1.run();
r2.run();
}
}
Câu hỏi của tôi là tại sao họ không thực hiện Runnable khi tạo lớp học? Kể từ khi họ overrode phương pháp chạy khi khởi tạo r1, đã làm điều đó chăm sóc thực hiện?
Tôi tin rằng, cảm giác rằng nó nằm trong bối cảnh của một hướng dẫn mà họ đã làm để chứng minh các tùy chọn khác nhau có sẵn cho bạn. – CalebB