0
点赞
收藏
分享

微信扫一扫

kotlin<第二篇>:类与继承

一、类的定义

class Test {
}

二、构造函数

主构造函数:

class Test(param1 : String, param2 : Int) {

    init {
        println("param1:$param1")
        println("param2:$param2")
    }

}

还可以添加constructor关键字

class Test constructor(param1 : String, param2 : Int) {

    init {
        println("param1:$param1")
        println("param2:$param2")
    }

}

次构造函数:

class Test {

    constructor() { }

    constructor(param1 : String, param2 : Int) { }

}

如果存在次构造函数,必须继承主构造函数:

class Test (param1 : String, param2 : Int) {

    constructor(param1 : String, param2 : Int, param3 : Int) :this(param1, param2) {

    }

}

初始化块(init)和次构造函数的执行顺序:

我们需要知道,init代码块是主构造函数初始化的地方,当主构造函数被实例化的时候,init代码块必然执行。
当次构造函数被实例化的时候,init代码块首先被执行,然后才会执行次构造函数的实现。

私有构造函数:

    class Test private constructor(param1 : String, param2 : Int) {

    private constructor(param1 : String, param2 : Int, param3 : Int) :this(param1, param2) {
      
    }
}

构造函数时可以被私有的,如果被私有,外部将不能访问,也就是说,在外部,不能对该构造方法进行实例化。

private 关键字放在 constructor 前面,默认情况下是 public,public情况下,主构造函数的 constructor 关键字可以被省略。

举报

相关推荐

0 条评论