Kotlin 全面学习之路 (七) -- 可见性修饰符

在 Kotlin中有四个可见性修饰符,分别为:

  • private
  • protected
  • internal
  • public

如果没有显式的指定修饰符,默认可见性为 public 。他们在不同的声明作用域内有不同的意义。

1、包

在包的声明作用域内,他们用来修饰 Top-level (顶级声明)

  • public 。不指定默认为 public 。声明随处可见。
  • private。 文件内可见。
  • internal 。相同模块内可见。
  • protected 。不适于顶级声明。

2、类和接口

  • private 。类内不可见。
  • protected 。本类和子类可见。
  • internal 。本模块内可见。
  • punlic 。可见该类则可见该类中 public 成员。

如果你覆盖一个 protected 成员并且没有显式指定其可见性,该成员还会是
protected 可见性。

3、构造函数

默认情况下的构造函数为 public , 如果改变类的构造函数的可见性,那么其对外的可见性也会变化。

class People private constructor(){ ... }

4、局部声明

局部变量、函数和类不能有可见性修饰符。

5、模块

可见性修饰符 internal 意味着该成员只在相同模块内可见。更具体地说, 一个
模块是编译在一起的一套 Kotlin 文件:
一个 IntelliJ IDEA 模块;
一个 Maven 项目;
一个 Gradle 源集(例外是 test 源集可以访问 main 的 internal 声明);
一次 <kotlinc> Ant 任务执行所编译的一套文件。

模块这部分的说明采取完美复制的策略,因为我现在还没有大范围的使用他。


猜你喜欢

转载自blog.csdn.net/Strange_Monkey/article/details/82703319