💡
原文中文,约600字,阅读约需2分钟。
📝
内容提要
本文介绍了Java中创建只有一个抽象方法的接口的两种方法:匿名内部类和lambda表达式。lambda表达式使用动态语言的特性,可以修改引用类型。JDK7引入了invokedynamic字节码指令以实现Java的动态类型。
🎯
关键要点
-
Java中创建只有一个抽象方法的接口可以使用匿名内部类或lambda表达式。
-
使用匿名内部类创建对象时,引用类型是固定的,不能替换成其他接口。
-
使用lambda表达式创建对象时,引用类型可以修改为任意其他只有一个抽象方法的接口。
-
Java的强类型特性与动态语言特性之间存在差异。
-
JDK7引入了invokedynamic字节码指令以实现Java的动态类型特性。
-
反射可以实现动态语言特性,但引入invokedynamic是为了更好地支持JVM运行其他语言的代码。
➡️