2016-03-17 14 views
5

私はJavaコードからKotlinクラスを使用しています。私はしかし、私は唯一のs.getA()s.setA(5)を持ってKotlinでアクセサーなしでプロパティを作成するには?

s = new Something(); 
s.a = 5; 

のようにJavaコードからaにアクセスできるようにしたい

class Something { 
    var a = 0 
} 

:マイKotlinクラスは次のようになります。このプロパティをJavaから直接設定および取得できるようにする方法はありますか?明らかに、この場合、カスタムゲッタとセッタを持つことはできません。

答えて

10

プロパティを@JvmField annotationに注釈を付けて、Javaフィールドとして公開することができます。

JavaのフィールドとしてKotlinプロパティを公開する必要がある場合は、@ JvmFieldアノテーションでアノテーションを付ける必要があります。フィールドは、基になるプロパティと同じ可視性を持ちます。 @JvmFieldにバッキングフィールドがある場合、プライベートでない場合、オープン、オーバーライドまたはconst修飾子がなく、委任されたプロパティでない場合は、プロパティに注釈を付けることができます。

+2

正確に必要なもの。ありがとう! – yuku

関連する問題