Kotlin-Java类中的静态get/set函数不被识别为属性
考虑以下代码: java/com.exampleKotlin-Java类中的静态get/set函数不被识别为属性,java,kotlin,Java,Kotlin,考虑以下代码: java/com.example 公共类Foo{ 公共静态int getStaticProperty(){return 0;} 公共静态void setStaticProperty(int值){} public int getInstanceProperty(){return 0;} public void setInstanceProperty(int值){} } 从Kotlin访问Java类将实例get/set方法显示为属性,但静态get/set方法则不同;例如: kotl
公共类Foo{
公共静态int getStaticProperty(){return 0;}
公共静态void setStaticProperty(int值){}
public int getInstanceProperty(){return 0;}
public void setInstanceProperty(int值){}
}
从Kotlin访问Java类将实例get/set方法显示为属性,但静态get/set方法则不同;例如:
kotlin/com.example
Foo.getStaticProperty()
Foo.setStaticProperty(123)
Foo.staticProperty=123//不起作用
val x=Foo()
x、 instanceProperty=123//可以工作
为什么Kotlin不能将静态get/set方法识别为属性?答案很简单:Kotlin还不支持此功能
目前,只有实例方法支持将类Java访问器的方法转换为合成Kotlin属性。但是对于静态方法,还不支持此功能。您可以在本期中跟踪其状态:。@Sergeyvasnov您的评论没有任何意义。至于这个问题本身,我不知道为什么它对你不起作用,它对我来说非常好。你使用的是什么版本的kotlin?@Alex.T kotlin 1.2这比我检查的版本稍微旧一些。我至少可以向您确认,它在版本
1.4.10
上运行良好。我不知道该功能是在1.3
还是1.4
中添加的。