一、首先来看一个Kotlin和Java的比较
Kotlin Java 比较
private private 只有类内部的类和方法可以访问
protected protected 类的子类可见
—— default 相同的包内可以访问
intelnal – 相同的模块内可以访问
public public 随处可见
二、看一个小小的例子
package net.println.kotlin.chapter4
/**
* @author:wangdong
* @description:
*/
class House
class Flower
/**
* 当类里面的成员加了private,对外是不可见的
*/
class Countryard{
private val house = House()
private val flower = Flower()
}
/**紫禁城。现在大家都能看*/
class ForbiddenCity{
val house = arrayOf(House(), House())
val flower = arrayOf(Flower(),Flower())
}
fun main(args: Array<String>) {
val countryard = Countryard()
//因为Countryard中的成员变量被私有了,下面这样就无法访问
//println(countryard.)
//紫禁城可以访问
val forbiddenCity = ForbiddenCity()
println(forbiddenCity.house)
println(forbiddenCity.flower)
}
可见性结束