我有java代码:
public abstract class A {
abstract int getA()
}
Run Code Online (Sandbox Code Playgroud)
我试过:
class B : A() {
val a = 0
}
Run Code Online (Sandbox Code Playgroud)
不编译。
class B : A() {
override val a = 0
}
Run Code Online (Sandbox Code Playgroud)
还是不编译。
class B : A() {
override val a: Int get () = 1
}
Run Code Online (Sandbox Code Playgroud)
还是不编译。
class B : A() {
override val a: Int override get () = 1
}
Run Code Online (Sandbox Code Playgroud)
还是不编译。
class B : A() {
val a: Int override get () = 1
}
Run Code Online (Sandbox Code Playgroud)
他们都没有工作。这是否意味着我只能使用
class B : A() {
override fun getA() = 1
}
Run Code Online (Sandbox Code Playgroud)
? 我认为最后一个(覆盖方法)很难看。
当你有一个 getter-setter 对时,这可能会更糟。期望使用var
属性覆盖 getter-setter 对,但您必须编写两个方法。
归档时间: |
|
查看次数: |
2165 次 |
最近记录: |