Kotlin学习之访问修饰符

科特林学习之访问修饰符

@(科特林学习)

类,对象,接口,构造函数,方法,属性和它们的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任务执行所编译的一套文件。

学海无涯苦作舟

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员丶星霖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值