📜  Kotlin-可见性控制

📅  最后修改于: 2020-12-30 07:03:42             🧑  作者: Mango


在本章中,我们将学习Kotlin语言中可用的各种修饰符。访问修饰符用于限制应用程序中使用的变量,方法和类的使用。像其他OOP编程语言一样,此修饰符可应用于多个位置,例如在类头或方法声明中。 Kotlin中有四个可用的访问修饰符。

私人的

可以使用private修饰符声明类,方法和包。一旦任何东西被声明为私有,那么就可以在其直接作用域内对其进行访问。例如,可以在该特定文件中访问私有软件包。私有类或接口只能由其数据成员等访问。

private class privateExample {
   private val i = 1
   private val doSomething() {
   }
}

在上面的示例中,类“ privateExample”和变量i都只能在同一Kotlin文件中访问,在该文件中提及的所有变量都在声明块中声明为private。

受保护的

保护是Kotlin的另一种访问修饰符,它不能用于顶级声明,因为无法保护任何软件包。受保护的类或接口仅对其子类可见。

class A() {
   protected val i = 1
}
class B : A() {
   fun getValue() : Int {
      return i
   }
}

在上面的示例中,变量“ i”被声明为受保护的,因此,它仅对其子类可见。

内部

内部是Kotlin中新添加的修饰符。如果将任何内容标记为内部,则该特定字段将在内部字段中。内部包仅在实现它的模块内部可见。内部类接口仅对同一包或模块内的其他类可见。在下面的示例中,我们将看到如何实现内部方法。

class internalExample {
   internal val i = 1
   internal fun doSomething() {
   }
}

在上面的示例中,名为“ doSomething”的方法和变量被称为内部方法,因此,这两个字段只能在声明它的包内部访问。

上市

可从项目工作区中的任何位置访问Public修饰符。如果未指定访问修饰符,则默认情况下它将位于公共范围内。在我们之前的所有示例中,我们都没有提到任何修饰符,因此,所有修饰符都在公共范围内。下面是一个示例,以了解更多有关如何声明公共变量或方法的信息。

class publicExample {
   val i = 1
   fun doSomething() {
   }
}

在上面的示例中,我们没有提到任何修饰符,因此默认情况下所有这些方法和变量都是公共的。