Kotlin 提供了一种更好的方法来创建单例对象和伴随对象以通过类名访问类成员。酷这是!!
但是这两种声明的内存分配是如何工作的,这是否像 java 中的静态一样工作,并且一直保留到应用程序生命周期。
Kotlin 提供了一种更好的方法来创建单例对象和伴随对象以通过类名访问类成员。酷这是!!
但是这两种声明的内存分配是如何工作的,这是否像 java 中的静态一样工作,并且一直保留到应用程序生命周期。
我相信回答您问题的最简单方法是在 Kotlin 中制作简单的项目,而不是Tools - Kotlin - Show Kotlin bytecode
在 IntelliJ Idea 中以及Decompile
在打开的页面上 - 您将看到 Kotlin 代码的确切翻译内容。例如,您有 Kotlin 代码:
fun main(args: Array<String>) {
Test.test()
}
class Test {
companion object TestCompanion{
fun test() {
println("TestCompanion")
}
}
}
反编译结果:
public final class MainKt {
public static final void main(@NotNull String[] args) {
Test.TestCompanion.test();
}
}
public final class Test {
public static final Test.TestCompanion TestCompanion = new Test.TestCompanion();
public static final class TestCompanion {
public final void test() {
System.out.println("TestCompanion");
}
}
}