JavaのクラスをKotlinで継承し,特定のメソッドだけOverrideしたい
あるJavaのクラスをKotlinで継承し,他のメソッドに影響を与えないように1つのメソッドだけOverrideしたいのですがエラーが出て困っています.
元のJavaのクラスではprivate Stringと表現されているフィールドが,継承したKotlinのクラスではfinal valと解釈されており,メソッド内でsetが出来ないと言った状態です.
Java:
public class J {
private String a;
public String getA() {
return a;
}
void m() {
a = "hello";
}
void m2() {
System.out.println(a);
}
}
Kotlin:
open class K(): J() {
override fun m() {
a = "helloK" // "Val cannot be reassigned"
}
}