kotlin 學習筆記


 1,不需要findViewById,直接id 就可以使用,多平臺應用的編程語言


 2,main 方法和java 的不通,在配置好的android studio 中,新建一個kontlin file,快捷鍵就能生成一個main 方法,在配置好的android studio中只需要

3.kontlin 中默認的作用域是public 結尾沒有分號 :號是繼承 方法類型 參數類型 字段類型的區分標誌

4,Unit 類型 類似java 中的void 使用的都是 java 中的包裝類型,類型推斷 根據結果推斷類型

5,一切變量的修飾符都是 var 或者是 val val 類似java 的final


6,去變量的方式不同 ${變量}


7,創建類沒有new,直接在類名後面加類型

8,參數類型後面有? 表示可以null
9,完全不需要get 和set 方法
10,enum 只有跟在關鍵字class 前面纔是關鍵字 叫做軟關鍵字
11,枚舉中的關鍵元素之用,分開  枚舉中的方法用 ; 分開
12,kotlin 沒有關鍵字 用when
13,do while 和 java 一樣,for 循環 跳出 可以break 標準的是用loop 跳出循環
14,vararg 修飾的是可變參數
15,不需要 類似java 中的utils 這樣的方法 使用內聯方法修飾符 inline
16,集合參數默認值 中綴

kotlin 字符串 安全字符串

字符串和java 沒有區別 唯一的區別是jkotlin 添加了擴展方法

null 直接不會通過 ?.是一個安全操作符 其實也是 需要手動完成
kotlin 支持多繼承 不用open 修飾的類就是 final 的,方法的默認修飾符也是 final

內部類 inner 關鍵字 kotlin 沒有static,object是內部類, Companion靜態內部類
Object 創建匿名內部類

使用java 定義的接口
直接 類名.方法名字
public 所有地方可見 private 內部之外同文件中可見
protect 受保護的 內部可見 子類內部可見 沒有java 中的default 有的是 internal 模塊可見

數據類與委託

data 數據類 自動重寫了 equales 和toString 這樣的方法 這些屬性 進行輸出

construct init

delegate 通過 by 關鍵字 來實現 可以委託屬性 方法 提供了很多標準的代理方法

高級特性

lamda 就是 就是什麼呢?-> 操作符重裁

 協程 就是線程 十分輕量級別 類似異步

泛型 註解和反射

out 泛型申明 生產
in  泛型申明  消費
* 代表 java 中的?

泛型指定約束
可以指定多個約束 where 關鍵字

註解和反射

註解和java 中沒有任何區別
annotation 註解類 添加原註解 可以使用來註解類 屬性 方法

反射 這和java 差別很大

類型::classs.java
也可以 String.javaClass
屬性 反射 ::屬性名字

kapt 註解處理器 和 butterknife 一起使用

anko 封裝的工具類
github 地址

https://github.com/Kotlin/anko

http://www.zuanke8.com/thread-4162658-1-1.html


lateinit 延遲初始化

//reified 具像化 和inline 一起使用

deferred 協程 中的延遲

高階函數就是將函數用着參數或者返回值的函數

對於接受另一個函數作爲參數的函數,我們必須爲該參數指定函數類型。

as 是轉換的意思

extern











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章