Kotlin的类继承-子类没有主构造函数

  • 如果子类没有主构造函数,则必须在每一个二级构造函数中使用super关键字初始化基类
  • open class Personage(name: String){
        constructor(name: String,age: Int):this(name){
            println("基类次级构造函数")
        }
    }
    //如果子类没有主构造函数,则必须在每一个二级构造函数中用super关键字
    //初始化基类,或者在代理另一个构造函数。初始化基类时,可以调用基类的
    //不同构造方法
    class Student:Personage{
        constructor(name: String,age:Int,no:String,score:Int):super(name,age){
            println("学生姓名:$name")
            println("学生年龄:$age")
            println("学生学号:$no")
            println("学生分数:$score")
        }
    }
    
    fun main(args:Array<String>){
        val s= Student("Robbin",12,"323",22)
        //字符串模板
        //$表示一个变量名或者变量值
        //$varName表示变量值
        //${varName.fun()}表示变量的方法返回值
    //    println("学生姓名: ${s.name}")
    }

     

posted on 2019-05-13 10:53  endian11  阅读(635)  评论(0)    收藏  举报

导航