如何不调用构造方法创建对象

val unsafe = Unsafe::class.java.getDeclaredField("theUnsafe")
    .also { it.isAccessible = true }.get(null) as Unsafe
val aaa = unsafe.allocateInstance(AAA::class.java) as AAA

此方法构造出来的对象会破坏kotlin的非空类型,使不可空类型为null