1.接口關(guān)鍵字;interface,聲明方式和java類似,如圖1
2.類和java一樣可以實現(xiàn)多個接口帜乞,但是只能繼承一個類期虾,并且使用冒號:代替關(guān)鍵字extends和implements
3.重寫或?qū)崿F(xiàn)方法必須使用override修飾
4.如果實現(xiàn)的兩個接口都包含了帶默認(rèn)實現(xiàn)的同一個方法酝润,則會報錯
5.沒有特別需要在子類中被重寫的類和方法梳虽,應(yīng)該被顯示的標(biāo)注為final
6.基類想要被重寫,必須是open的彰居,默認(rèn)實final诚纸,避免不必要的重寫
7.被重寫的方法默認(rèn)是open的,如果不想再被重寫陈惰,使用final修飾
8.接口中的成員始終是open的畦徘,不能聲明為final
9.kotlin中的嵌套類不能訪問外部類
10.Kotlin對象不需要new,直接使用即可
11.如果你使用的類繼承了一個類抬闯,那么你需要初始化父類井辆,調(diào)用父類的構(gòu)造方法
12.在非空屬性上使用lateinit修飾符表明這個屬性被推遲到構(gòu)造方法被調(diào)用之后初始化
13.數(shù)據(jù)類直接使用data修飾,tostring溶握,equals等方法會自動重寫杯缺,不需要自己重寫,但是只有主構(gòu)造方法中聲明的屬性會被自動加入生成
14.by關(guān)鍵字委托
15.objiect關(guān)鍵字聲明一個類并且創(chuàng)建一個實例睡榆,有三種場景1.定義單例 2.伴生對象萍肆,類似于靜態(tài)方法,使用companion修飾 3.匿名內(nèi)部類胀屿,匿名內(nèi)部類不是單例的塘揣,每次執(zhí)行都會創(chuàng)建一個新的對象