У меня есть следующий код:
public class RefDemo {
static class Demo implements Runnable {
public Demo() {
System.out.println(this.toString() + "-----");
}
@Override
public void run() {
System.out.println("run");
}
}
public static void main(String[] args) {
Runnable runnable = Demo::new; // lambda ref constructor method
runnable.run(); // does not do anything
System.out.println(runnable);
Runnable demo = new Demo(); // using new to create a Demo instance
demo.run();
System.out.println(demo);
}
}
Какие принты:
[email protected] // lambda run constructor method print
RefDemo$$Lambda$1/[email protected] // main method print
[email protected]
run
[email protected]
Я не знаю, почему код не run
печать при вызове runnable.run();
Почему это происходит?