如何用属性实现一个抽象的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,

函数只能用函数覆盖。

似乎我正在尝试一些不可能的事情。