1 回答

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊
kotlin入門(mén)-類(lèi)和繼承
創(chuàng)建類(lèi)的實(shí)例
要?jiǎng)?chuàng)建一個(gè)類(lèi)的實(shí)例,我們就像普通函數(shù)一樣調(diào)用構(gòu)造函數(shù):
val invoice = Invoice()
val customer = Customer("Joe Smith")
注意 Kotlin 并沒(méi)有 new 關(guān)鍵字。
繼承
在 Kotlin 中所有類(lèi)都有一個(gè)共同的超類(lèi) Any,這對(duì)于沒(méi)有超類(lèi)型聲明的類(lèi)是默認(rèn)超類(lèi)
class Example // 從 Any 隱式繼承
Any 不是 java.lang.Object;尤其是,它除了 equals()、hashCode()和toString()外沒(méi)有任何成員。
要聲明一個(gè)顯式的超類(lèi)型,我們把類(lèi)型放到類(lèi)頭的冒號(hào)之后:
open class Base(p: Int)
class Derived(p: Int) : Base(p)
類(lèi)上的 open 標(biāo)注與 Java 中 final 相反,它允許其他類(lèi) 從這個(gè)類(lèi)繼承。默認(rèn)情況下,在 Kotlin 中所有的類(lèi)都是 final, 對(duì)應(yīng)于 Effective Java書(shū)中的 第 17 條:要么為繼承而設(shè)計(jì),并提供文檔說(shuō)明,要么就禁止繼承。
- 1 回答
- 0 關(guān)注
- 1665 瀏覽
添加回答
舉報(bào)