有时候只是要对某个类进行轻微改造,供临时使用,避免继承
//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()
}
网友评论