您的位置:首页 > 游戏 > 游戏 > Kotlin 可见性修饰符

Kotlin 可见性修饰符

2024/12/23 12:09:25 来源:https://blog.csdn.net/weixin_67575670/article/details/139294649  浏览:    关键词:Kotlin 可见性修饰符

文章目录

  • 定义
  • 不同区域可用修饰符
  • 与其他修饰符冲突

定义

可见性修饰符可以控制变量、函数、类等的可访问范围。

一个类也有自己的隐私。

在 Kotlin 中,有以下可见性修饰符可以使用,你可以在定义变量、函数、类、接口时使用它们(前提是该定义不是局部定义,并且修饰符被允许),默认的修饰符是public

  • public 公开的,所有区域可访问
  • private 私有的,限定区域(一般是文件内或类、接口中)内部可访问
  • internal 模块内部公开,只有在模块内可访问
  • protected 受保护的,类中和子类中可访问

可见性范围大小: public>internal > protected > private。在重写属性或方法时,可见性只能大于或等于父类的声明。

open class Base {protected open val name = "Base"
}class Extend: Base() {public override val name = "Extend"
}fun main() {// Base().name 不可访问Extend().name // 可以访问
}

不同区域可用修饰符

在不同地方,修饰符的功能会有些许差异。若不声明修饰符,则会使用默认的修饰符public

区域publicprivateinternalprotected
文件顶层可用可用,文件内部可访问可用不可用
可用可用,类中可访问可用可用,类中和子类中可访问
接口可用可用,接口中可访问不可用,但可以用于修饰接口internal interface USB(这属于文件顶层的范畴)不可用

与其他修饰符冲突

open(可被子类重写,可以是publicinternalprotected)、abstract(抽象,publicinternal)修饰符本身带有半公开的意思,此时如果使用private去修饰会引起冲突。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com