该文为个人学习笔记,如有错误,烦请大佬指出~~~
常量及变量定义
1.常量定义
a.val (只读变量)
--eg.
val TAG = Knowledge::class.java.simpleName
b.var (可变变量)
--eg.
var author = "lyw"
author ="liuyawei"
注:申明变量、常量时,如果同时初始化,则不需要在申明时去限定类型
c.const(编译器、属性值就确定、并且不存在get、set方法)
--eg.
companion object {
const val TAG = "Knowledge"
}
2.变量定义
a.申明时直接实例化
--eg.
val arr = arrayOfNulls<Long>(4)
--延迟实例化(lateinit、lazy)
--lateinit 常用语控件的实例化
--eg.
lateinit var arr: ArrayList<String>
fun initKnowledge() {
arr = ArrayList()
//do something
}
--lazy 常用于单例中对象的实例化
--eg.
private val prefs by lazy { KotlinApplication.getContext()
.getSharedPreferences(Constants.NAME_SHARED_PREFERENCE, Context.MODE_PRIVATE) }
b.可为null的变量
--eg.
var str: String? = null
--使用时需要使用?操作符
var content = "${str?.length}"
--针对于可为null的变量使用时,我们可以指定默认值
var strContent = "${str?.length?: "0"}"
方法
a.方法定义
--通过fun 关键字
--eg.
fun getTag() {
//do something
}
b.静态方法
--eg.
companion object {
val TAG = Knowledge::class.java.simpleName
fun getTag(): String {
return TAG
}
}
c.有返回值的方法
--eg.
fun getTag(): String {
return TAG
}
d.有参数的方法
--$操作符暂时不讲
--eg.
fun getTag(str: String): String {
return "TAG:$str"
}
e.返回值可能为null的方法
--eg.
fun getTag(str: String): String? {
return null
}