标签:map what 各种 HashMap Kotlin Class name 稀奇古怪 构造函数
从上面的图片可以看出,kotlin可以生成的类比java多了很多。
Class
和java中的class一样,用来定义一个类,
package com.sky.whitebear.Util.EventBus
/**
* EventBus数据类
*/
class EventMessage constructor(var what : Int) {
lateinit var map : HashMap<String, Any>;
init {
println("what: " + what)
map = HashMap<String, Any>()
}
//辅助构造函数
constructor(what: Int, _map: HashMap<String, Any>) : this(what){
map = _map;
}
fun add(name : String, value : Any): HashMap<String, Any> {
map.set(name, value)
return map
}
fun get(name : String) : Any? {
return map.get(name)
}
}
在上面的kotlin类中,构造函数分成了主构造函数和辅助构造函数。
主构造函数定义在constructor关键字后面,和java不同的是,只需要在括号里定义一次变量即可,不用在类的结构体中单独定义。初始化代码在init代码块中编写,
辅助构造函数以 constructor():this(){}
这个结构进行定义。
在使用的时候,根据参数类型或者个数进行判断,初始化调用顺序如下:
- 如果符合主构造函数的结构,则只执行init代码块中的内容。
- 如果符合辅助构造函数,则先执行init,再执行对应的辅助构造函数中的内容。
File
Interface
Sealed Interface
Data Class
Enum class
为啥不是Enum Class 呢?
Sealed Class
Annotation
Object
标签:map,what,各种,HashMap,Kotlin,Class,name,稀奇古怪,构造函数 来源: https://www.cnblogs.com/charlottepl/p/16700685.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。