Kotlin 类的继承、构造函数、方法重写和执行的优先顺序

fun main() {
    //当调用孙类实例对象和方法时,执行顺序为父为构造函数,子类构造函数,孙类构造函数,孙类方法
    sun(true).pr()
}
//,
/**
 * 声明1个类 Animal(加open关键字的话就为可继承),设置类属性m2等于参数men
 * 1.主构造函数有一个参数men,初始化语句init的功能是打印men
 * 2.声明方法pr,调用类属性m2,打印m2
 */
open class Fu(sex: Boolean) {
    var sex2 = sex
    init {
        println("执行父类构造函数${sex}")
    }
    //s可重写的方法需加上open关键词,否则继承后无法重写
    open fun pr() {
        println("执行父类方法${sex2}")
    }
}
//声明子类,继承自FU类,需传入父寮定义的参数
open class zhi(namezhi: Boolean) : Fu(namezhi) {
    init {
        println("执行子类构造函数${namezhi}")
    }
}

//声明孙类,继承自子类,需传入子寮定义的参数
class sun(namesun: Boolean) : zhi(namesun) {
    var namesun = namesun
    init {
        println("执行孙类构造函数${namesun}")
    }
    //重写方法加上override关键词
    override fun pr() {
        println("重写后的PR是孙类方法${namesun}")
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值