我们将Java文件转换为Kotlin文件,然后编译为类文件.生成的类比原始Java类文件大.在Kotlin类文件中,我们在每个类中都找到了元数据.为什么Kotlin会存储这些元数据?
Kotlin中代码的某些方面无法用纯Java字节码表示(例如,可空性,主要构造函数,internal
可见性,lateinit
修饰符,属性委托等).相反,它们被序列化并作为元数据存储在类中.
当您使用Kotlin库的JAR分发时,编译器会解析元数据以发现这些Kotlin特定属性,以便将库用作具有所有可用功能的Kotlin工件.
在运行时,kotlin-reflect
Kotlin反射API 使用元数据来重建这些属性并通过反射提供对它们的访问.
归档时间: |
|
查看次数: |
687 次 |
最近记录: |