Kotlin编程之可见性修饰词(private,protected,internal,public)

Kotlin编程相关知识点介绍

  • Kotlin编程之使用Intellij IED和了解源文件(.kt)
  • Kotlin编程之类的介绍和使用
  • Kotlin编程之类的属性
  • Kotlin编程之方法
  • Kotlin编程之父类和继承父类
  • Kotlin编程之接口和实现接口
  • Kotlin编程之伴生对象,抽象类,密封类
  • Kotlin编程之嵌套类,内部类,匿名内部类
  • Kotlin编程之对象的表达式和声明
  • Kotlin编程之扩展方法
  • Kotlin编程之扩展属性和扩展伴生对象
  • Kotlin编程之泛型
  • Kotlin编程之if语句,while循环,when表达式,for循环

在Kotlin编程中有四种修饰词:private,protected,internal,public,默认的修饰词是public。这些修饰词可以用在类,对象,接口,构造函数,属性以及属性的set()中。

包级别的使用修饰词


package com.xingen.kotlin.day2017529.pm

private fun  test1(){}

public var v="任何地方都可以见"

private var  v2="只有在本源文件中可见"

internal  val v3="同一模块下可见"

注意点:

  • protected 在 “top-level” 中不可以使用,即不能修饰包级别的方法或者属性等
  • private 声明在包含声明的源文件中可见

  • internal 声明,在同一模块中的任何地方可见

在类中和接口使用修饰词


package com.xingen.kotlin.day2017529.pm

fun main(args: Array<String>) {
    Test().test()
}
open  class BaseTest{
    private val a="该属性不能被子类访问"
    protected var b="该属性能被子类访问"
    internal var c="同一模块下被访问"
    var d="到处都可以被访问"
}
class Test:BaseTest(){
    fun  test(){
        println(b)
        println(c)
        println(d)
    }
}

输出结果:

该属性能被子类访问
同一模块下被访问
到处都可以被访问

可知:

  • private 只在该类(以及它的成员)中可见+

  • protected 和 private 一样但在子类中也可见

  • internal 在本模块的所有可以访问到声明区域的均可以访问该类的所有 internal 成员
  • public 任何地方可见

构造函数中使用修饰词


class C private constructor(a: Int) { ... }

指定主构造函数不可访问,私有化

局部声明

局部变量,函数和类是不允许使用修饰词的

模块中使用修饰词


在Kotlin编程中,模块是指一个项目,包含以下几种项目:

  • 一个ide创建的 Module
  • 一个Maven或者Gradle项目
  • 通过一次调用Ant任务编译的一组文件

internal 修饰符是指成员的可见性是只在同一个模块中才可见的

你可能感兴趣的:(编程基础(Java,Kotlin,SQL))