Kotlin精簡教程,包含基本數據類型、控制語句以及函數,並且包含面向對象的相關類、繼承和接口的定義以及實現等。本文旨在幫助想快速體驗Kotlin的同學快讀上手,在最短的時間內掌握更多的知識。Kotlin成為Android的官方語言後,畢竟帶來一場新的變革,讓我們拭目以待吧,當然手來還是要有東西的,趕緊安裝一個Kotlin,順著本手冊快速過一遍吧。
1 基礎篇
1.1 數據類型
Kotlin基本數據類型: 數值、字符、布爾和數組。
1.1.1 數字類型
Type | Bit width |
---|---|
Double | 64 |
Float | 32 |
Long | 64 |
Int | 32 |
Short | 16 |
Byte | 8 |
1.1.2 字符類型
字符類型用Char聲明。例如 ‘1’。
1.1.3 布爾類型
Boolean聲明布爾類型,布爾類型有兩個值:true 和 false。內置運算符布包括 ||(或)、&&(與)、!(非)。
1.1.4 數組
在Kotlin中的數組通過 Array
類聲明,並且具有 get
和 set
方法,以及size屬性。我們可以通過arrayOf(1, 2, 3)來創建一個數組。
1.1.5 字符串
字符串使用String來聲明,字符串是不可變的。數組中的元素就是字符,可以通過s[i]訪問。
var a : Int = 1000var b : Char = 'b'var c : IntArray = intArrayOf(1, 2, 3, 5)var d : String = "Hello world!"var e : Boolean = true
1.2 控制語句
1.2.1 IF表達式
在kotlin中,if是一個表達式,帶返回值。
if (a < b) max = b if (a > b) { max = a} else { max = b}
1.2.2 WHEN表達式
WHEN代替了SWITCH。
when (x) { 1 -> print("x == 1") 2 -> print("x == 2") else -> { // Note the block
1.2.3 FOR循環
for (i in array.indices) {
1.2.4 WHILE循環
Kotlin支持while和do…while
while (x > 0) {
1.3 函數
1.3.1 函數聲明
在Kotlin中使用fun聲明函數。這真是一件有趣的事情。
fun double(x: Int): Int {
1.3.2 函數調用
val result = double(2)
1.3.3 參數
函數的參數採用Pasical風格name:type。參數之間用逗號隔開。參數必須指定類型。參數可以指定默認值。
fun read(b: Array, off: Int = 0, len: Int = b.size()) {
可變參數可以通過vararg聲明
fun read(vararg ts:Int) {
如果參數較多,可以通過命名參數來調用函數
fun reformat(str: String,
1.3.4 單行函數
如果函數只是返回一個表達式,那就可以直接用等號
fun double(x: Int): Int = x * 2
1.3.5 返回值
函數可返回Unit(即什麼都不返回)或者準確數據類型。
fun printHello(name: String?): Unit { if (name != null)
2、面向對象
2.1 類與繼承
2.1.1 類
在Kotlin中類通過class來聲明
class Invoice {}
2.1.1.1 類的構造方法
Kotlin的構造方法有主構造方法和多個副構造方法。在類名後邊的為主構造方法,此處可以省略constructor關鍵字,類中的constructor為副構造方法。
class Person(val name: String) { constructor(name: String, parent: Person) : this(name) {
2.1.1.2 類的實例化
Kotlin沒有new關鍵字,所以如下實例化。
val customer = Customer("Joe Smith")
2.1.2 繼承
Kotlin的所有類都有一個公共的超類 Any
class Example // 隱式繼承自Any
繼承一個類,只需要將父類放到子類的後邊即可,有點類似於定義方法的返回值。
open class Base(p: Int)class Derived(p: Int) : Base(p)
如果父類有主構造方法,需要正確的初始化;如果父類有副構造方法,需要使用super關鍵字初始化。
class MyView : View {
open關鍵字和java中的final關鍵字相反,它允許其他類繼承此類。在Kotlin中所有的類默認均為final類型。
2.1.2.1 重寫方法
重寫方法時,子類類的方法必須是通過open關鍵字限定的,並且子類的相應方法也默認被繼承為open類型,如果需要禁止,可以通過final關鍵字來限定。重寫方法使用關鍵字overwrite。
open class Base { open fun v() {} fun nv() {}
2.1.2.2 重寫屬性
重寫屬性和重寫方法類似。
open class Foo { open val x: Int get { ... }
2.1.2.3 重寫規則
Kotlin,實現繼承的規則是: 如果類繼承自多個相同成員的實現,子類必須重寫這些成員並提供自己的實現(或者是繼承其中一個)。此處可以使用super關鍵字,例如super<Base>
open class A { open fun f() { print("A") } fun a() { print("a") }
2.1.3 抽象類
抽象類用abstract聲明。由於抽象類不涉及到具體實現,所以抽象類及其方法不需要用open限定就可以重寫。此外我們也可以將一個非抽象類中的open成員寫成抽象的。
open class Base { open fun f() {}
2.2 接口
可以使用interface定義接口
interface MyInterface { fun bar()
2.2.1 接口實現
類或者對象都可以顯示類。
class Child : MyInterface {
想了解更多IT知識,更多就業知識可關注:
優就業官網:http://www.ujiuye.com/
優就業就業促進計劃:http://www.ujiuye.com/zt/jycj/?wt.bd=zy35844
在線視頻學習:http://xue.ujiuye.com/