val student1 = Student()
val student2 = Student("Jack", 19)
val student3 = Student("a123", 5, "Jack", 19)
[好文分享:www.11jj.com]
[原文来自:www.11jj.com]
这样我们就将次构造函数的用法掌握得差不多了,但是到目前为止,继承时的括号问题还没有进一步延伸,暂时和之前学过的场景是一样的。
那么接下来我们就再来看一种比较特殊的情况,类中只有次构造函数,没有主构造函数。这种情况真的是非常非常少见,但在Kotlin中是允许的。当一个类没有显式地定义主构造函数,且定义了次构造函数时,它就是没有主构造函数的。我们还是结合着代码来看一下:
class Student : Person {
constructor(name: String, age: Int) : super(name, age) {
}
}
注意这里的代码变化,首先Student类的后面没有显示地定义主构造函数,同时又因为定义了次构造函数,所以现在Student类是没有主构造函数的。那么既然没有主构造函数,继承Person类的时候也就不需要再加上括号了。其实原因就是这么简单,只是很多人在刚开始学习Kotlin的时候没能理解这对括号的意义和规则,因此总感觉继承的写法有时候要加上括号,有时候又不要加,搞得晕头转向的,而当你真正理解了之后会发现其实还是很简单的。
另外由于没有主构造函数,次构造函数只能直接调用父类的构造函数,上述代码也是将this关键字换成了super关键字,这部分就很好理解了,因为和Java比较像,我也就不再多说了。
好了,关于Kotlin继承方面的知识以及这个比较让人费解的括号问题就讲到这里,相信不少朋友心中的疑惑都已经解开了吧。本篇文章其实是从《行代码 第3版》第2章中提取出来的一小节内容,这本书目前我正在创作中,全书的代码都会使用Kotlin重写,并且加入丰富的Kotlin语言讲解,以及Android 8.0、9.0、10.0系统新特性,Jetpack架构组件等新知识的讲解。预计将在今年年底完稿,明年年初出版,也希望大家到时可以多多支持。
阅读:
一篇文章带你看遍Google I/O 2019大会
让你的方法数不要超过64K,MainDex优化记
布局渲染inflate方法的前世今生
欢迎关注我的公众号
学习技术或投稿
长按上图,识别图中..即可关注
大家好,小乐今天来为大家解答绣球花养护注意事项以下问题,绣球养花技巧很多人还不知道,现在让我们一起来看看吧!1、绣球花喜湿但是怕涝,
第六单元 运算律课题:运用乘法分派律进行轻便较量 第 3 课时 总第 课时教授方针:1.让学生在解决实际问题的过程中发现并懂得乘法分派律,学
大家好,小娟今天来为大家解答梦的翅膀受了伤简谱以下问题,梦的翅膀受了伤翻唱特别好听很多人还不知道,现在让我们一起来看看吧!1、《梦的
大家好,小美今天来为大家解答妈妈的朋友中文字幕以下问题,单身妈妈韩剧电视剧免费观看很多人还不知道,现在让我们一起来看看吧!1、请直接
合作/推广:sdjf0757(微旌旗)美容美发是好多人都邑选择的消费但个体不良商家对准消费者的爱美之心使用过时产物、诱导消费、子虚宣传精心设置
首届“奇秀不减雁荡·东坡杯”五莲山水文学大赛征稿启事为深入贯彻习近平新时代中国特色社会主义思惟和党的二十大精神,果断文化自信,深条理
点击上方蓝字免费订阅!!慢城太白传媒,您生活中的贴心伴侣! 昨晚宝鸡融媒发布了一条视频↓↓↓北京西站男子晕厥宝鸡大夫紧要急救引得大
往期出色谋划 / 共青团黑龙江职业学院委员会运营 / 校大学生新媒体运营中心总监 / 石 倩 监制 / 梁 立 唐晓恬总编 / 马雨薇审核 / 马 莉 魏刘欣
Copyright 2024.依依自媒体,让大家了解更多图文资讯!