Kotin基本語法二

第一章

第一節(jié):繼承與重載和open關(guān)鍵字

  • 1翻擒、kotlin類默認是final 修飾的敬辣,所以無法繼承,如果要想讓別的類繼承蟆豫,要用open修飾背零,相當于去掉final
  • 2、kotin 所以方法默認是final修飾的无埃,不能被重寫徙瓶,這和Java剛好相反,想要被繼承就要在前面加open關(guān)鍵字

第二節(jié) kotin類型轉(zhuǎn)換

1嫉称、is 關(guān)鍵字侦镇。 A is B 相當于Java A instanceOf B
2、A 強轉(zhuǎn)成 B類织阅,用 A as B

第三節(jié) kotlin Any類

Any 是kotlin的超類壳繁,沒有具體實現(xiàn),在各個平臺內(nèi)部實現(xiàn)

第四節(jié) kotlin 對象的聲明

1荔棉、聲明單例

    object KtTest{
        init{   }
        fun show() = println("我是單例")
   }

fun main(){
    //KtTest 既是單例的實例闹炉,也是類名
    // 這就是典型的 單例
      print(KtTest)
       KtTest.show()
      //相當于 KtTest.INSTANCE.show()
   }

2、匿名對象表達式

 open  class KtTest{
      open fun show{
        println("我是父類函數(shù)")
      }
   }

fun main(){
    val p : KtTest = object : KtTest(){
    override fund show{
      println("我是子類函數(shù)")
              }
       }

    p.show() //打印的是子類的輸出 這就是匿名對象

第五節(jié) data 類

 class A(var name : String,var age: Int)

data class A(var name : String,var age: Int)
  // data 類相當于JavaBean 润樱,要比普通類更豐富 
 // data類有 get set  解構(gòu)操作等

第六節(jié) copy函數(shù)

 class A(var name : String,var age: Int){
   var  sex;
    init{
            sex = 'M'
        }
  constructor(name:String):this(name,90){
   
       }
 }

fun main(){
  var a = A("zhangsan",80)
  var b = a.copy("李四"渣触,20)
// copy 只會調(diào)用主構(gòu)造,不會調(diào)用次構(gòu)造等壹若,切記
}
\

第二章

第一節(jié) 接口的定義

  interface IUSB{
    var usbVersion : String
    var usbInertDevice : String
    fun insetUSB() : String
}

class Mouse(override var usbVersion :String = "USB3.0",override var usbInertDevice = "鼠標"):IUSB{
   override fun insetUSB():String = "我是鼠標"
}

接口的特點:

  • 1嗅钻、接口里的所有成員和接口本身都是 public 和 open 的,所以不需要open店展,這是接口的特性
  • 2养篓、接口沒有構(gòu)造
  • 3、實現(xiàn)類不僅要重寫接口的函數(shù)赂蕴,也要重新接口的成員
  • 4柳弄、接口實現(xiàn)代碼區(qū)域,都要寫override關(guān)鍵字來修飾

第二節(jié)抽象類

  abstract  class BaseActivity{
   fun onCreate(){
   }
  abstract fun getLayoutId() : Int
}

class MainActivity : BaseActivity{
    override getLayoutId(){
  return 100;
   }
}
//Kotlin抽象類和Java的一模一樣

第三節(jié) 泛型

泛型類

  class KtTest<T> (private val obj : T){
          fun show() = println("泛型類:$obj")
   }

 data class Student(val name : String, val age : Int)

 fun main(){
     val stu = Student("張三"概说,60)
     KtTest(stu).show()
 }

泛型 out 和 in

out T 泛型前加 out表示只讀 碧注。默認情況下泛型子類對象不能賦值給泛型父類對象,但是加 out的泛型可以席怪。
int T 泛型前加 in表示不能被讀取应闯。int的特性剛好和out相反。

  • 協(xié)變:out 父類 = 子類
  • 逆變:in 子類 = 父類

第四節(jié) 擴展函數(shù)

class KtTest(name : String, age : Int)

fun KtTest.show(){
println("我是show函數(shù):name:${name},age:${age}")
 }
// KtTest.xxx   的內(nèi)部都會持有 this 挂捻,這個類的當前對象碉纺,
//**并且這個對Java的類同樣有效**

擴展函對Java類同樣有效

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子骨田,更是在濱河造成了極大的恐慌耿导,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件态贤,死亡現(xiàn)場離奇詭異舱呻,居然都是意外死亡,警方通過查閱死者的電腦和手機悠汽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門箱吕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人柿冲,你說我怎么就攤上這事茬高。” “怎么了假抄?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵怎栽,是天一觀的道長。 經(jīng)常有香客問我宿饱,道長熏瞄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任谬以,我火速辦了婚禮强饮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蛉签。我一直安慰自己胡陪,他們只是感情好,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布碍舍。 她就那樣靜靜地躺著,像睡著了一般邑雅。 火紅的嫁衣襯著肌膚如雪片橡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天淮野,我揣著相機與錄音捧书,去河邊找鬼。 笑死骤星,一個胖子當著我的面吹牛经瓷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播洞难,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼舆吮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起色冀,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤潭袱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后锋恬,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屯换,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年与学,在試婚紗的時候發(fā)現(xiàn)自己被綠了彤悔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡索守,死狀恐怖蜗巧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蕾盯,我是刑警寧澤幕屹,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站级遭,受9級特大地震影響望拖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜挫鸽,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一说敏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丢郊,春花似錦盔沫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至干茉,卻和暖如春谴忧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背角虫。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工沾谓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人戳鹅。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓均驶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親枫虏。 傳聞我的和親對象是個殘疾皇子妇穴,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 第2章 Kotlin 語法基礎(chǔ) 人與人之間通過語言來交流溝通爬虱,互相協(xié)作。人與計算機之間怎樣“交流溝通”呢伟骨?答案是編...
    光劍書架上的書閱讀 1,616評論 0 6
  • 自從實習結(jié)束后直到現(xiàn)在將近一年多的時間再也沒有用過kotlin饮潦, 在今年五月份I/O大會上,Google再次明確了...
    Scus閱讀 1,372評論 0 0
  • 概要 類在聲明接口&抽象類&枚舉&注解時携狭,與 Java 相比基本一樣继蜡,除了枚舉&注解在聲明的時候后面喲啊加上cla...
    有啊記閱讀 424評論 0 2
  • 1.類 Kotlin 中使用關(guān)鍵字 class 聲明類 類聲明由類名、類頭(指定其類型參數(shù)逛腿、主構(gòu)造函數(shù)等)以及由花...
    ZunJun閱讀 722評論 0 0
  • 一稀并、類 1.1 類聲明 Kotin中使用關(guān)鍵字class聲明類,且默認是public单默。如果一個類沒有類體碘举,可以省略...
    者文_閱讀 1,292評論 0 1