美文网首页
16.对象声明和表达(ObjectStatement,Expre

16.对象声明和表达(ObjectStatement,Expre

作者: 木子心语 | 来源:发表于2017-09-28 18:22 被阅读0次

    有时候只是要对某个类进行轻微改造,供临时使用,避免继承

    //skin
    open class Chinese(var name : String){
              open val skin = "yellow"
    }
    //对象声明,不能用在函数中
    //一般用于对其他类的一种包装
    object NetworkRequestManager{
                fun register(){
                       println("network connect..")
                }
    }
    //伴生对象:一般用于创建一个类的实例的工厂方法
    //可用于与java的静态成员互操作
    class IDCard{
             companion object {
             fun create() = IDCard()
             }
    }
     fun main(args: Array<String>){
    //对象表达式:val 对象名 = object : 类,接口{//属性或方法override定义}
    val people1 = object : Chinese("name1"){
          override val skin = "black"
    }
    print(people1.skin)
    //纯对象表达式,临时使用,无须继承任何类
    val tempPoint = object {
          var x  = 1
          var y  = 1
    }
    print(tmepPoint.y)
    //相当于调用函数
     NetworkRequestManage.register()
    //与类关联性强
    IDCard.create()
    }
    

    相关文章

      网友评论

          本文标题:16.对象声明和表达(ObjectStatement,Expre

          本文链接:https://www.haomeiwen.com/subject/pmduextx.html