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.

相关推荐
泡海椒6 分钟前
PDF 表格样式优化:jquick-pdf 边框、圆角、背景色
java·开发语言·pdf
Beyond_System|系统之外1 小时前
【学编程】Python基础编程题100道(21-60)
开发语言·python·算法
景熙55231 小时前
15.Java 8 Stream 流入门到实战
java·开发语言·数据结构
Bruce_Liuxiaowei4 小时前
Python 实例赋值遮蔽类属性:一个从不报错的静默陷阱
开发语言·python·语法糖
aramae5 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
传奇开心果编程6 小时前
【Jetpack Compose基础语法学与练】第8课 rememberSaveable,页面旋转/系统重建保留状态
android·学习·ui·kotlin·android jetpack
码行山野赴时序归途8 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
景熙55238 小时前
单体项目编写思路和落地形式
java·开发语言
计算机毕设定制辅导-无忧学长9 小时前
《基于SpringBoot的未成年人健康知识科普平台的设计与实现》
java·开发语言·vue.js·spring boot·未成年人健康知识科普平台
Ivanqhz9 小时前
Ping-Pong 双缓冲
开发语言·人工智能·python·深度学习·mlir