本文是作者的学习经验,适合入坑萌新阅读,大神请绕道...
既然Kotlin都出来这么久了,而且现在谷歌又推出一个什么flutter,再不用就有点说不过去了,另外我也是烦了java那么长的代码,于是就试着把我的app用kotlin重新架构一遍。
都说kotlin是java最好的插件,kotlin的语法基本和Java一致(而且听说flutter用的dash跟java更像),一分钟熟悉语法,然后就可以开始编程了。
事实证明我想的太容易了,在类的继承上就出现问题了,在java中,只要在类后填上extern 父类名称就可以了,但是在kotlin中,就会有那么一点问题...首先,kotlin用在类名后加上”:父类名称”实现继承,但关键是,它有一个主构造器,和从构造器,如果子类有主构造函数,则基类必须在主构造函数中立即初始化。
什么意思呢?
就是在定义好属性之后,直接在class头的父类的括号里使用就行了,主构造器是class头部的一部分,下面用init()来实现它的功能代码(真不明白这么写有哪里更简洁了。。。)
这里就会有几个问题:
1.如果不是特别的需求,那么init()初始化函数就没有必要了
2.如果没有特殊需求,父类的onCreate函数就不用实现了,就是说,如果父类有一个类似与onCreate的函数用来创建什么的东西的话,直接在class头传参就可以了,不用覆盖这个oncreate然后再在里面用super...但是,接口函数还是要继承的,尽管它可能什么都不干,还是要继承,不继承就会有语法错误...
有一种要完全消灭构造函数但是又留了一个小尾巴的感觉...
kotlin向来以它的安全性闻名,但是,如果你并不怎么在意安全性的话(例如你是一个小白,只是想学一下kotlin用来装13的话),那么安全性的问题就很恶心了,不注意的话,代码就会有语法上的错误,所以有?的地方先把这个问号去掉吧....
另外,Kotlin没有new关键字,类的初始化用函数构造法,即 cls = Class() 类似的格式完成。
网友评论