一、首先來看一個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)
}
可見性結束