Kotlin筆記(六)類

2021-08-02 03:03:27 字數 1608 閱讀 1362

class 類名  類頭(指定其型別引數、主 建構函式等)

class person constructor

(firstname: string)

//沒有類頭

class

person

{}//沒有類頭類體

class

person

建構函式

class person constructor

(firstname: string)

class

person

(firstname: string)

class

customer

(name: string) ")

}}

注意,主構造的引數可以在初始化塊中使用。它們也可以在 類內宣告的屬性初始化器中使用

class

customer

(name: string)

//與普通屬性一樣,主建構函式中宣告的屬性可以是 可變的(var)或唯讀的(val)。

class person(val firstname: string, val lastname: string, var age: int)

class customer public @inject constructor

(name: string)

class

person

}

class person(val name: string) 

}class person2

constructor

(name: string, age: int) : this(name)

}

如果乙個非抽象類沒有宣告任何建構函式,它會有乙個生成的 不帶引數的主建構函式。建構函式的可見性是 public。如果你不希望你的類 有乙個公有建構函式,你需要宣告乙個帶有非預設可見性的空的主建構函式:

class dontcreateme private

constructor

()

注意:在 jvm 上,如果主建構函式的所有的引數都有預設值,編譯器會生成 乙個額外的無參建構函式,它將使用預設值。這使得 kotlin 更易於使用像 jackson 或者 jpa 這樣的通過無參建構函式建立類的例項的庫。

要建立乙個類的例項,我們就像普通函式一樣呼叫建構函式:

class

customer

(val customername: string = "")

val invoice = invoice()

val customer = customer("joe smith")

注意 kotlin 並沒有 new 關鍵字。

超六類網線和六類網線的區別 Vecloud

自2009年tia 568c.2標準發布以後,超六類線纜開始被廣泛地應用在各個佈線系統中。與傳統的六類線纜相比,超六類線擁有更高的傳輸頻率和速率。一般情況下,六類線纜的頻寬為250mhz,而超六類線纜的頻寬是其的兩倍,這對於對網路頻寬要求很高的資料中心來說,超六類線纜顯然是乙個非常不錯的解決方案。作...

類(六) 類的靜態成員

基於 c primer p268 我們需要類的一些成員與類本身直接相關,而不是與類的各個物件保持關聯。1 宣告靜態成員 我們通過在成員的宣告之前加上關鍵字 static 使得其與類關聯在一起。靜態成員既可以是 public 也可以是 private。靜態資料成員的型別可以是常量 引用 指標 類型別等...

六類qsort排序方法

前一段時間做題覺得qsort函式很好用,但有時不太會用比如按結構體一級排序 二級排序 字串排序等,故通過查資料將其整理一番。以下是其具體分類及用法 若無具體說明是以降序排列 1 對一維陣列排序 element type是一位陣列中存放的資料型別,可以是char,int,float,double,et...