Kotlin学习之访问修饰符
2018-04-01 17:35
239 查看
科特林学习之访问修饰符
@(科特林学习)类,对象,接口,构造函数,方法,属性和它们的setter方法都可以有访问修饰符。
在Kotlin中有这四个可见性修饰符:
- private
- protected
- internal
- public
如果没有显式指定修饰符的话,默认可见性是公开的,如果需要其他任何访问修饰符都是在缩小访问范围,真正的起到了“访问控制”。
一,包
函数,属性和类,对象和接口可以在顶层声明,即直接在包内声明:// 文件名:example.kt package foo fun baz() {} class Bar {}
注意:
- 如果不指定任何访问修饰符,默认为public,意味着随处可见此声明;
- 如果声明为private,只会在声明它的文件内可见;
- 声明为internal,会在相同模块内随处可见;
- 保护不适用于顶声明。
- 要使用另一个包内可见的顶层声明,仍需将其导入进来。
二,类和接口
对于类内部声明的成员:- private,意味着只在此类内部可见;
- protected,和private一样,在子类中可见;
- internal,能见到类声明的本模块内的任何客户端都可见其内部成员;
- 公众,能见到类声明的任何客户端都可见其公众成员。
注意:
- Kotlin中外部类不能访问内部类的私人成员;
- 如果覆盖一个保护成员并且没有显式指定其可见性,该成员还是受保可见性。
三,构造函数和局部声明
要指定一个类的主构造函数的可见性,使用如下语法class C private constructor(a: Int) { …… }
默认情况下,所有构造函数都是公开的,在类可见的地方它就可见。
局部变量,函数和类不能有访问修饰符。
四,模块
访问修饰符内部意味着该成员只在相同模块内可见。模块是一个“ 大于包而小于项目 ”的概念。一个模块就是编译在一起的一套Kotlin文件:
- 一个IntelliJ IDEA模块;
- 一个Maven项目;
- 一个Gradle源集;
- 一次
<kotlinc>Ant任务执行所编译的一套文件。
学海无涯苦作舟
相关文章推荐
- Kotlin类和对象(三)——接口与访问修饰符
- Kotlin学习(四)—— 类和对象,继承,覆盖,抽象类,属性和字段,接口,可见性修饰符,扩展
- 【java学习】6.访问修饰符
- Kotlin 官方学习教程之可见性修饰符
- JavaSE 学习参考:访问修饰符
- Scala学习之包、引用和访问修饰符
- java中访问权限修饰符学习笔记
- Kotlin 学习之可见性修饰符
- c#学习 13/22 文件流与访问修饰符及接口的实现
- C#学习-图解教程(2):访问修饰符(其中两种)
- Java学习笔记(四)修饰符及访问权限
- 黑马程序员_学习笔记10——引用类型与值类型,继承,访问修饰符,里氏转换
- Java面向对象学习笔记 -- 2(访问控制修饰符)
- 学习kotlin第八天_接口、可见性修饰符、扩展
- typescript学习(6)---使用访问修饰符
- C#学习之类的访问修饰符
- 【C#学习】访问限制修饰符
- C#学习日记21----封装 与 访问修饰符
- .Net学习笔记----2015-07-21(C#基础复习07,关键字、访问修饰符)
- Kotlin 从学习到 Android 第九章 可见性修饰符