我是新来学习 KOTLIN 的,我发现public final默认情况下有类和变量。
但我很惊讶最终变量值如何改变?
public final var x = 4
x = 5
Run Code Online (Sandbox Code Playgroud)
有人可以帮我澄清一下吗?
final关键字严格用于继承。
如果您想要不可变的属性,请使用val而不是var.
默认情况下,一切都是如此final,因此无法继承或覆盖。如果您不希望某些东西成为final您必须将其明确标记为open:
open class Foo {
var x = 5
}
class Foo2 : Foo() {
override var x = 7 // error : 'x' in 'Foo' is final and cannot be overridden
}
open class Bar {
open var x = 5
}
class Bar2 : Bar() {
override var x = 8 // ok
}
open class Bar3 : Bar() {
final override var x = 9 // ok, final prevents further overrides
}
class Bar3Child : Bar3() {
override var x = 10 // error : 'x' in 'Bar3' is final and cannot be overridden
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1706 次 |
| 最近记录: |