Idea下Kotlin的封装和继承

88 阅读1分钟
/**
 * 父类
 */
 open class Father {
    var chactor:String="性格内向"
   open fun action(){//允许子类重写改方法
        println("天下黑白可争,世间义理难料,唯留君之明月空悬")
    }


}
/**
 * 子类继承父类
 */
class Son :Father(){
    override fun action() {
//        super.action() 这里不注释会先执行父类的action方法,然后在执行重写的方法
        println("子类重写父类action方法:落霞与孤鹜齐飞,秋水共长天一色")
    }

}
fun main(args: Array<String>) {
    var son1 = Son()
    println("儿子继承父亲${son1.chactor}")
    son1.action()//如果继承的方法没有注释掉super.action(),那么父类和子类的action方法都会被执行
}