对于类和方法,Kotlin open与finalJava中的相同.
open对于标记为的字段,我在下面的课程中给出了什么open?
@MappedSuperclass
abstract class BaseEntity() : Persistable<Long> {
open var id: Long? = null
}
Run Code Online (Sandbox Code Playgroud)
更新 这不重复Kotlin中'open'和'public'之间的区别是什么?
我open对属性的关键字感兴趣
更新
openclass可以继承.
open有趣的可以覆盖
val属性是finaljava中的字段
open财产怎么样?
use*_*612 29
正如您所说,open关键字允许您在类声明中使用时覆盖类.因此,将属性声明为open,允许子类覆盖属性本身(例如,重新定义getter/setter).该关键字是必需的,因为在Kotlin final默认情况下一切都是" ",这意味着你不能override它(类似于C#,如果你有经验).
请注意,您的类是隐式声明的,open因为它abstract不能直接创建该类的实例.
Laj*_*pad 15
Java中的final方法:一种无法覆盖的方法.
Java中的final类:无法扩展的类.
因为在Kotlen中类和方法的情况下,open相当于Java中的final,所以Kotlin中的open方法是可覆盖的,而Kotlin中的open类是可扩展的.
| 归档时间: |
|
| 查看次数: |
18321 次 |
| 最近记录: |