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

Kotlin编程相关知识点介绍

在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 修饰符是指成员的可见性是只在同一个模块中才可见的

    原文作者:新根
    原文地址: https://blog.csdn.net/hexingen/article/details/72824614
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞