kotlin 类继承的语法

写段测试代码:

Kotlin 复制代码
open class Person { // 加open关键字,可以被子类继承
    open var name: String = ""
    open var age: Int = 0
    
    constructor(name: String, age: Int) {
        this.name = name
        this.age = age
    }
    
    override fun toString() : String {
        return "我是${name}, 年龄$age." //这里不能写this.name, this.age,不然会栈溢出。为啥??
    }
}

class Daxia : Person {
    var kongfus: List<String> = listOf()
    var wuli: Int = 0
    
    constructor(name: String, age: Int, kongfus: List<String>, wuli: Int) : super(name, age) {
        this.kongfus = kongfus
        this.wuli = wuli
    }
    
    override fun toString() : String {
        return super.toString() + "我会的武功:${kongfus}, 我的武力值: $wuli"
    }
}

fun main() {    
    val zhouzhiruo =  Daxia("周芷若", 23, listOf("九阴真经"), 89)
    val tianboguang = Daxia("田伯光", 30, listOf("狂风刀法"), 81)
    val duanzhengchun = Daxia("段正淳", 42, listOf("一阳指"), 80)
    val jiumozhi = Daxia("鸠摩智", 40, listOf("小无相功", "少林七十二绝技", "少林易筋经", "火焰刀"), 96)
    
    println(zhouzhiruo.toString())
    println(tianboguang.toString())
    println(duanzhengchun.toString())
    println(jiumozhi.toString())
}

打印:

ok.

相关推荐
你怎么知道我是队长3 分钟前
JavaScript的自适应效果
开发语言·javascript·ecmascript
mayaairi41 分钟前
JS数组完全指南(含十大操作详解)
开发语言·前端·javascript
j7~43 分钟前
【数据结构初阶】队列的实现(链式队列 + 循环队列)--详解
c语言·开发语言·数据结构·学习·队列·queue·c\c++
king_linlin1 小时前
算法基础——算法复杂度
c语言·开发语言·数据结构·算法
二十雨辰1 小时前
[爬虫]-解析
开发语言·python
zzq77971 小时前
Android 16 API 36 升级后 APP 加固兼容性问题解析
android·开发语言·安全·kotlin·安卓·安全架构
keyipatience1 小时前
日志和线程池
java·开发语言
码云数智-园园2 小时前
建站平台有哪些?建站工具怎么选
开发语言
nVisual2 小时前
01-环境监控集成方案
运维·服务器·开发语言·网络·数据库·数据中心布线·综合布线管理软件
此生决int2 小时前
深入理解C++系列(04)——类和对象(下)
开发语言·c++