我有java代码:
public abstract class A {
abstract int getA()
}
我试过了:
class B : A() {
val a = 0
}
不编译。
class B : A() {
override val a = 0
}
仍然无法编译。
class B : A() {
override val a: Int get () = 1
}
仍然无法编译。
class B : A() {
override val a: Int override get () = 1
}
仍然无法编译。
class B : A() {
val a: Int override get () = 1
}
他们都没有工作。这是否意味着我只能使用
class B : A() {
override fun getA() = 1
}
?我认为最后一个(覆盖方法)很难看。
当你有一个getter-setter对时,这可能会更糟。它应该覆盖具有var
属性的getter-setter对,但你必须编写两个方法。
答案 0 :(得分:1)
根据@ Miha_x64,
只能使用函数覆盖函数。
似乎我在尝试一些不可能的事情。