01_Kotlin类和接口

类和接口

1.类的声明

class MyClass{}

2.构造器
主构造器
声明的时候在类的后面(可以省略constructor)
class Person constructor(name:String){
//初始化
init{
println(name)
}
}

fun main(args: Array<String>){
    var person = Person("Tony")
}


次构造器
class Product{
    constructor(parent:Product){
        println(parent)
    }
}


class QACommunity(var url:String){
    //主构造器的实现部分
    init{
        println(url)
    }
    //次构造器,可以有多个
    //通过this直接调用了主构造器
    constructor(value:Int):this("www.baidu.com")
    println(value)

    //通过调用其他次构造器间接调用了主构造器
    constructor():this(20){
        prontln("通过调用其他次构造器间接调用了主构造器")
    }
}

注意:
如果类定义类主构造器,次构造器必须直接或者间接的调用
如果类未定义主构造器,次构造器不用调用