You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中的open关键字是否属于可见性修饰符?

Kotlin open关键字属性说明

首先直接给出结论:open不属于Kotlin的可见性修饰符,它和可见性修饰符是功能完全独立的两类关键字。

  • 可见性修饰符的唯一作用是控制类、函数、属性等声明的可访问范围,Kotlin官方定义的可见性修饰符仅有4种:public、private、internal、protected,这类关键字不会对声明是否允许继承、重写产生任何影响。
  • open关键字的作用是打破Kotlin的默认final限制,标记类、类成员函数、类属性允许被继承、重写。Kotlin中所有类和类成员默认都是不可继承、不可重写的,只有添加open标记后才会开放对应能力,这个关键字完全不会修改对应声明的可访问范围。

你可以同时使用open和可见性修饰符标记同一个声明,二者互不干扰,比如open protected fun init() {}中,protected控制这个方法只有子类和同包代码能访问,open控制这个方法允许子类重写,功能完全独立。

内容的提问来源于stack exchange,提问作者Leandro Maro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 04:27:01