19.嵌套类



/**
 * 描述:类中也可以嵌套其他类
 * 作者:jet
 * 创建时间: 2017-11-21 16:29
 * 修改人:
 * 修改时间:
 * 修改内容:
 */

//新闻类
class News2{
    //默认地区
    private var lang ="cn"

    //新闻分类:嵌套类 。 与主类关系并不十分密切,只是形式上在一起。类似于主从关系
    class Category2{
        var list = arrayOf("推荐","娱乐","科技","美女")
        var listDesc = list.joinToString()
    }
    //内部类:新闻语种。通常用于不直接对外的类,为主类服务。比如人的眼睛。
    inner class Lang{
        fun changeRegion(newRegiog:String){
            lang = newRegiog
            println("现在的地区是$newRegiog")
        }
    }
}

fun main(args: Array) {
    //中国新闻列表。嵌套类只需要自身实例化,即可使用
    println(News2.Category2().listDesc)
    //更改新闻地区。内部类必须依赖主类的实例和自身的实例才能使用
    News2().Lang().changeRegion("us")
}


出自:http://www.xiaoboswift.com/course/54

你可能感兴趣的:(19.嵌套类)