Kotlin介绍系列(二)基本语法(4)

可见性修饰

Kotlin有四种可见性修饰符:private, protected, internal, public
用法见下面表格:

修饰符 顶级(声明在package底下) 类级(声明在一个类里)
private 当前文件可见 只当前类可见
protected (不可直接在包下使用此声明) 当前类及其子类可见
internal 当前module可见 当前module可见
public 随处可见 随处可见

值得注意的是,如果不做修饰,默认则是public

例子:

  • 顶级
// file name: example.kt
package foo
private fun foo() {} // visible inside example.kt
public var bar: Int = 5 // property is visible everywhere
private set // setter is visible only in example.kt
internal val baz = 6 // visible inside the same module
  • 类级
open class Outer {
    private val a = 1
    protected open val b = 2
    internal val c = 3
    val d = 4 // public by default
    protected class Nested {
        public val e: Int = 5
    }
}
class Subclass : Outer() {
    // a is not visible
    // b, c and d are visible
    // Nested and e are visible
    override val b = 5 // 'b' is protected
}
class Unrelated(o: Outer) {
    // o.a, o.b are not visible
    // o.c and o.d are visible (same module)
    // Outer.Nested is not visible, and Nested::e is not visible either
}

可继承声明

继承修饰符open(与java的final相对),使用Kotlin声明一个可以被继承的类必须冠以open

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,328评论 9 118
  • kotlin语言简介 kotlin是一种静态类型编程语言,和Java一样也是基于jvm的,但是比Java更简洁,更...
    记忆中的白阅读 646评论 0 1
  • Kotlin 知识梳理系列文章 Kotlin 知识梳理(1) - Kotlin 基础Kotlin 知识梳理(2) ...
    泽毛阅读 4,104评论 1 10
  • 入职公司第三周时,项目组让我用kotlin去完成一个内部使用的app。下面记录一下kotlin相关笔记。因为app...
    杨hai阅读 1,185评论 1 8
  • 森林里住着一只狮子,它独自捕食,散步,占据地盘,威武霸气。森林里的其他小动物都害怕它,远离它,同时也相信它有朝一日...
    529b59b4e739阅读 246评论 0 1