如何在Kotlin中使用get()定义类的types属性
如何在Kotlin中使用get()来定义一个属性,它返回一个类,我在下面尝试,但不是编译
val targetActivity: Class get() = MyActivity.class
您可以使用Class References
最基本的reflectionfunction是获取Kotlin类的运行时引用。 要获得对静态已知Kotlin类的引用,可以使用该类
字面语法:
val c = MyClass::class
或者这个使用Class<*>
而不是Class>
val targetActivity: Class<*> get() = MyActivity::class
请注意,在Kotlin中,您必须使用星形投影 ,问号>
将不起作用; 也使用这样的类引用 :
val targetActivity: KClass<*> get() = MyActivity::class
如果您想拥有一个Java Class
,请使用.java
属性: MyActivity::class.java
在获得Kotlin KClass以返回Java类之后,您需要使用.java
val targetActivity: Class<*> get() = MyActivity::class.java
或者,如果你想更具体的返回types
val targetActivity: Class get() = MyActivity::class.java