gpt4 book ai didi

spring - 该字段旁边的 'final' 关键字代表什么?

转载 作者:行者123 更新时间:2023-12-02 12:29:52 24 4
gpt4 key购买 nike

在遗留代码中,我正在使用,我发现了以下内容:

@Autowired
final lateinit var controller: CustomController

final 关键字在这里是什么意思?

在 Kotlin 文档中,我找到了关于 final 关键字的简短描述,即 blocking overriding of the methods在公开课中,但没有有关字段的信息。另外 - 我发现该行所在的类未打开

最佳答案

final 属性或 Kotlin 中的方法可防止覆盖字段/方法。也就是说,Kotlin 默认情况下将属性或方法/函数视为最终的,除非由关键字 open 指定。在您的情况下,final 关键字是多余的。

这里有一个小的演示测试用例来说明这一点。

open class Parent {
open val someValue = 0
final val otherValue = 13 // redundant modifier 'final' warning in Android Studio
}

class Child : Parent() {
override val someValue = 5
// override val otherValue = 19 // compile error
}

有一个有趣的问题叫做 Fragile Base Class在 OOP 中以及为什么像 Kotlin 这样的语言默认更喜欢 final。

关于spring - 该字段旁边的 'final' 关键字代表什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64422637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com