美文网首页
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