該文為個人學習筆記,如有錯誤,請各位大佬指導~~~
針對于一些未具體說明知識點,后續會進行補充。
知識點可能會有點雜亂無章,請各位擔待。
關鍵字
1.申明:
--open override fun inline inner internal data companion object lateinit var val
2.判斷:
--when in is
3.運算:
--and or
4.類型:
--Any Unit
5.基本類型:
--Boolean Byte Short Int Long Float Double Char
6.其他
--by as lazy init downTo
----------------------------------------------------------------------------------------------
一.對象
1.static 變量或者方法:companion object
--eg.
companion object{
//TODO 進行編寫~~~
}
2.變量類型:var 表示的是“通常的變量”,val 則表示的是“不可變變量”
變量類型是寫在變量名之后的,用英文冒號 : 隔開,類型聲明不是必須的,如果后面的值是一個明顯可識別的類型,就不必添加類型聲明。
--eg.
val SHARE_GOOGLE_PLUS: Int = 0x1001
或者
val SHARE_GOOGLE_PLUS = 0x1001
var subject = ""
3.創建對象
var view: View = View(activity)
----------------------------------------------------------------------------------------------
二.方法
1.方法申明;fun
2.重寫父類方法: override 關鍵字
--eg.
override fun xxx(){}
3.方法參數:對象:類名
--eg.
override fun share(activity: Activity, shareContent: ShareContent
, listener: ShareListener) {
}
----------------------------------------------------------------------------------------------
三.類
1.繼承、實現: 使用分號
--eg.
--繼承
class ShareImageToEmail : ShareLocalImage(){}
--實現接口
class TestImp :Test{}
2.構造函數
--eg.
constructor(){
}
3.繼承+多接口實現
class ShareImp:Extents(),Imp1,Imp2{}
----------------------------------------------------------------------------------------------
四.判斷使用規則
1.針對于對象使用前判空 : ?修飾
--eg.
listener?.onError(shareContent.platform, IllegalArgumentException(""))
2.保證該變量在后續使用中不會出現為空情況: !! 修飾
--eg.
if (null != listener) {
startIntent(activity, listener!!, shareContent)
}
----------------------------------------------------------------------------------------------
備注:
1.kotlin 的關鍵字與java 不同~~~~ 比如 in 、 is 、 data 使用時,需要用單引號進行修飾
--eg.
‘is’
2.使用when關鍵字代替if
--eg.
var view: View = View(activity)
when (view) {
is TextView -> toast("")
else -> toast("")
}
3.in
--eg.
val list = arrayListOf(1,2,3,4)
list.add(5)
list.remove(3)
for(item in list){
//TODO
}
4.by
5.is
--is 和java中instanceof是一個作用判斷是否為某個類型。!is即判斷不是某個類型。
6.$ 字符模板? $<變量>、${<變量>}
--eg.
"$str" 值
"${tvContent?.text}" 對象的值
"${init("", "")}" 方法
7.枚舉
--eg.
enum class Color{
RED,BLACK,BLUE,GREEN,WHITE
}
8.downTo
9.step
10.vararg
11.as
1)導入包時,可以設置類的別名
--eg.
import android.widget.TextView as tv
2.初始化變量時
--eg.
12.Unit 返回值
--與void 相似 可以不寫~~~