四种修饰符的说明
package com.iflytek.basekotlin.`class` //函数、属性、类、对象和接口都可以在顶层声明,即直接在包内 2021/6/22 fun method(){} // 默认为public ,随处可见 2021/6/22 private class ClassA(){} // 只在该文件内可见 2021/6/22 private val classA:ClassA = ClassA() // 此处只能用private,因为ClassA只在该文件内可见,所以其对象也是 2021/6/22 internal interface InterfaceA{} // 只在同模块内可见 2021/6/22 protected var name:String = "" // 错误:Modifier 'protected' is not applicable to 'top level property without backing field or delegate' 2021/6/22
open class VisibilityDemo{ private val a = true // 只在该类内部可见 2021/6/22 protected val b = true // 在类内部和其子类中可见 2021/6/22 internal val c = true // 能见到类声明的本模块任何客户端都可见 2021/6/22 val d = true // 能见到类声明的任何客户端都可见 2021/6/22 } class SubVisibility:VisibilityDemo(){ fun visible(){ //println(a) // 不可见 2021/6/22 println(b) // 可见 2021/6/22 println(c) // 可见 2021/6/22 println(d) // 可见 2021/6/22 } } class UnRelated(){ fun visible(visibilityDemo: VisibilityDemo){ // println(visibilityDemo.a) // 不可见 2021/6/22 // println(visibilityDemo.b) // 不可见 2021/6/22 println(visibilityDemo.c) // 可见 2021/6/22 println(visibilityDemo.d) // 可见 2021/6/22 } }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。