如何用属性实现一个抽象的getter
我有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对,但是您必须编写两个方法。
根据@ Miha_x64,
函数只能用函数覆盖。
似乎我正在尝试一些不可能的事情。