Kotlin簡明教程

編程語言 Kotlin Java 技術 IT優就業 2017-05-22

Kotlin精簡教程,包含基本數據類型、控制語句以及函數,並且包含面向對象的相關類、繼承和接口的定義以及實現等。本文旨在幫助想快速體驗Kotlin的同學快讀上手,在最短的時間內掌握更多的知識。Kotlin成為Android的官方語言後,畢竟帶來一場新的變革,讓我們拭目以待吧,當然手來還是要有東西的,趕緊安裝一個Kotlin,順著本手冊快速過一遍吧。

1 基礎篇

1.1 數據類型

Kotlin基本數據類型: 數值、字符、布爾和數組。

1.1.1 數字類型

TypeBit width
Double64
Float32
Long64
Int32
Short16
Byte8

1.1.2 字符類型

字符類型用Char聲明。例如 ‘1’。

1.1.3 布爾類型

Boolean聲明布爾類型,布爾類型有兩個值:true 和 false。內置運算符布包括 ||(或)、&&(與)、!(非)。

1.1.4 數組

在Kotlin中的數組通過 Array 類聲明,並且具有 getset 方法,以及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/

相關推薦

推薦中...