【发布时间】:2015-07-05 10:56:45
【问题描述】:
//Code 1
interface Demo {
double myMeth();
}
class MyClass {
public static void main(String args[]) {
Demo myDemo = () -> 98.6;
}
}
我想知道的是,编译器是如何实现语句的?
() -> 98.6; //语句1
上面的语句等价于
//Code 2
double myMeth() {
return 98.6;
}
那么,编译器在编译期间是否将statement 1 替换为code 2
还是编译器做其他事情?
【问题讨论】:
-
尝试用
javap -c -v -p MyClass.class反编译classfile,你自己看看!