13.嵌套类(NestedClass)

2017-09-28  本文已影响0人  木子心语

类中也可以嵌套其他类

class New{
        //默认地区
        private var internal = "cn"
        //新闻分类:嵌套类,与主类关系并不十分密切,只是形式上在一起,类似于主从关系
       class  newsNested{
                  var list = arrayOf("推荐","娱乐","科技","美女")
                  var listD = list.joinToString()
       }
        //内部类:通常用于不直接对外的类,为主类服务
       inner class Internal {
                 func changeRegion(newRegion:String){
                          //内部类可以访问宿主类的属性
                          internal = newRegion
                          println("现在地区是$newRegion")
                 }
       }
}
fun main(args:Array<String>){
      //新闻列表,嵌套类只需自身实例化,即可使用
      println(New.newsNested().listD)
      //更改新闻地区,内部类必须依赖主类的实例和自身的实例才能使用
      New.internal().changeRegion("sh")
}
上一篇 下一篇

猜你喜欢

热点阅读