Kotlin也屬於jvm語言,因爲它也是被編譯成字節碼需要運行在虛擬機上的。Kotlin的語法靈活性像動態語言,當其實是靜態語言,這是因爲編譯器輔助做了很多事情。kotlin中有很多java中沒有的語法,或者說是java低版本沒有的語法。
kotlin object的關鍵字、還有密閉類(sealed)、數據類java沒有
kotlin沒有類方法的概念
kotlin有住次構造器的區分
密閉類(sealed class)是kotlin特有的一種類,密閉類是對枚舉類的擴展,可是比枚舉類能滿足更多的場景需求。枚舉其實類的實例,這樣的話,就會出現一個枚舉只能有一個實例的情況,同時不能給一個枚舉類型提供額外的信息(因爲枚舉是一個類的實例,它能擁有的信息已經由類的構造函數決定了)。我們可能會想到,那我們可以用繼承抽象類來解決上面的問題呀,可是,這樣就不是枚舉了,因爲我們可以繼承出很多子類。在這種情況下密閉類出現了,既滿足有限元素,又能定製。
Kotlin Vocabulary | 密封類 sealed class