类和接口
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("通过调用其他次构造器间接调用了主构造器")
}
}
注意:
如果类定义类主构造器,次构造器必须直接或者间接的调用
如果类未定义主构造器,次构造器不用调用