【Kotlin 入門指南】類別初始化使用範例與介紹

更新於 發佈於 閱讀時間約 4 分鐘
【Kotlin 入門指南】系列文章目錄:https://bit.ly/3t8awwL
Kotlin 線上課程教學影片:https://bit.ly/3qJ5a5Q

類別初始化

在 Kotlin 中,類別有一個「init」主構造函數和一個或多個「constructor」次構造函數。

主構造函數定義範例

class MyClass(val arg1: String, var arg2: Int) {
// 在類頭中定義了主構造函數,arg1 和 arg2 都是主構造函數的參數
// 主構造函數可以直接在類頭中初始化成員變量
val myProperty = "HKT線上教室"

init {
// init 程式區塊會在主構造函數執行時被調用
// 在 init 程式區塊中可以執行一些額外的初始化操作,例如驗證輸入參數等
}
}

在這個範例中, arg1arg2 是主構造函數的參數,可以直接在類頭中進行初始化。同時,我們還可以使用 init 區塊來執行主構造函數中的額外初始化操作。

次要構造函數範例

次要構造函數提供了額外的初始化選項,讓我們可以使用不同的參數組合來初始化類別。

class MyClass(val arg1: String, var arg2: Int) {
constructor(arg1: String) : this(arg1, 0) {
// 這是一個次構造函數,接收一個字符串參數,將 arg2 初始化為 0
}

constructor(arg1: String, arg2: Int, arg3: Boolean) : this(arg1, arg2) {
// 這是另一個次構造函數,接收三個參數,並調用主構造函數進行初始化
// 在這個構造函數中可以進行一些額外的初始化操作
}
}

通過這樣的方式,你可以根據不同的需求和參數組合來初始化類的實例,使得程式碼更具彈性。

初始化順序

class Account {
//戶名
var name: String = ""

init {
println("初始化,第一層")
}

constructor() {
println("初始化,第二層")
}
}

fun main() {
//實體化
val account = Account()

account.name = "HKT"
println(account.name)
}

輸出結果

初始化,第一層
初始化,第二層
HKT

當實體化一個 Account 物件時,程式會先執行主構造函數中的初始化(這裡是 init 區塊),接著才會執行次要構造函數的初始化。這就是為什麼在輸出結果中先看到「初始化,第一層」,然後才是「初始化,第二層」的原因。

這樣的流程確保了在建立物件時,先進行必要的初始化操作,再根據需要進行額外的初始化。


留言
avatar-img
留言分享你的想法!
avatar-img
HKT實驗室
22會員
261內容數
哈囉!歡迎光臨我的沙龍!我是 KT,一位對應用程式開發充滿熱情的開發者。在這個專屬空間,我將與您分享我在應用開發領域的深入學習心得和豐富的實戰經驗。如果您對應用程式開發技術同樣充滿好奇,渴望不斷探索新知,歡迎成為我們的會員,一起在應用程式開發的旅途上,探索更深層次的技術世界,享受學習的樂趣。
HKT實驗室的其他內容
2023/12/15
本文介紹 Kotlin 中的延遲初始化(lateinit)和懶加載(lazy)的使用方法,以及它們之間的差異。這些關鍵字能夠提升程式效能並簡化程式碼撰寫。
Thumbnail
2023/12/15
本文介紹 Kotlin 中的延遲初始化(lateinit)和懶加載(lazy)的使用方法,以及它們之間的差異。這些關鍵字能夠提升程式效能並簡化程式碼撰寫。
Thumbnail
2023/12/11
空值例外是開發中一個常見的風險,特別是在 Kotlin 和 Java 這樣的跨平台開發中更容易出現。藉由合理地運用 Kotlin 的空值安全機制以及對 Java 程式碼的註解,可以有效地降低程式錯誤的風險,提高程式碼的可靠性和穩定性。
Thumbnail
2023/12/11
空值例外是開發中一個常見的風險,特別是在 Kotlin 和 Java 這樣的跨平台開發中更容易出現。藉由合理地運用 Kotlin 的空值安全機制以及對 Java 程式碼的註解,可以有效地降低程式錯誤的風險,提高程式碼的可靠性和穩定性。
Thumbnail
2023/12/11
在 IntelliJ IDEA 建立 Kotlin 專案時,要執行 Java 程式只需將其檔案命名為 .java,並放置在專案的 java 目錄中。這樣就可以順利執行該 Java 程式。
Thumbnail
2023/12/11
在 IntelliJ IDEA 建立 Kotlin 專案時,要執行 Java 程式只需將其檔案命名為 .java,並放置在專案的 java 目錄中。這樣就可以順利執行該 Java 程式。
Thumbnail
看更多
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
本章節的目的是介紹 Kotlin 中的物件導向概念。這包括了類別、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型以及反射等概念。每一個概念都會透過範例程式碼來解釋其功能和用法。
Thumbnail
本章節的目的是介紹 Kotlin 中的物件導向概念。這包括了類別、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型以及反射等概念。每一個概念都會透過範例程式碼來解釋其功能和用法。
Thumbnail
這章節的目的是介紹 Kotlin 語言中函數的基本用法和概念,包括函數的聲明、使用、參數和返回值等。通過學習這章節,讀者可以熟練掌握如何在 Kotlin 中定義和使用函數,來解決各種問題。
Thumbnail
這章節的目的是介紹 Kotlin 語言中函數的基本用法和概念,包括函數的聲明、使用、參數和返回值等。通過學習這章節,讀者可以熟練掌握如何在 Kotlin 中定義和使用函數,來解決各種問題。
Thumbnail
Kotlin 的函式可以作為參數使用,它們被歸類為一種資料型別,稱為「Function Types」。當 Java 呼叫這種型別的 Kotlin 函式時,會使用 invoke 關鍵字進行呼叫。通過反編譯程式碼,可以得知 Kotlin 中的 Function Types 資訊。
Thumbnail
Kotlin 的函式可以作為參數使用,它們被歸類為一種資料型別,稱為「Function Types」。當 Java 呼叫這種型別的 Kotlin 函式時,會使用 invoke 關鍵字進行呼叫。通過反編譯程式碼,可以得知 Kotlin 中的 Function Types 資訊。
Thumbnail
在 Kotlin 程式語言中,資料類別 (Data classes) ,它讓你能夠輕鬆地建立和定義只用來儲存資料的類別,讓程式碼更簡潔、更容易閱讀。資料類別的主要目的是暫時保存資料,而不是處理邏輯行為。
Thumbnail
在 Kotlin 程式語言中,資料類別 (Data classes) ,它讓你能夠輕鬆地建立和定義只用來儲存資料的類別,讓程式碼更簡潔、更容易閱讀。資料類別的主要目的是暫時保存資料,而不是處理邏輯行為。
Thumbnail
當今天某個類別,比如說 String,在不能直接修改其程式碼或無法繼承使用的情況下,你可以運用 Kotlin 的擴展功能,來擴展該類別的功能。它允許你擴展現有的類別,而不需修改其原始碼。這使得你能夠向任何類別添加新的功能,讓程式碼更具靈活性。
Thumbnail
當今天某個類別,比如說 String,在不能直接修改其程式碼或無法繼承使用的情況下,你可以運用 Kotlin 的擴展功能,來擴展該類別的功能。它允許你擴展現有的類別,而不需修改其原始碼。這使得你能夠向任何類別添加新的功能,讓程式碼更具靈活性。
Thumbnail
本指南介紹了 Kotlin 中類別的主構造函數和次要構造函數的使用方法,並提供了相應的程式碼範例和初始化順序說明。
Thumbnail
本指南介紹了 Kotlin 中類別的主構造函數和次要構造函數的使用方法,並提供了相應的程式碼範例和初始化順序說明。
Thumbnail
在 Kotlin 中,使用函數當參數傳遞,記得將此函數前面加入 inline 關鍵字,可以降低資源消耗。若沒有使用 Inline 內聯此函數,會導致每個函數都被實體化 (Instance) 出來。
Thumbnail
在 Kotlin 中,使用函數當參數傳遞,記得將此函數前面加入 inline 關鍵字,可以降低資源消耗。若沒有使用 Inline 內聯此函數,會導致每個函數都被實體化 (Instance) 出來。
Thumbnail
在 Kotlin 程式語言中,使用 fun 關鍵字來定義函數,定義一個有返回值的函數。
Thumbnail
在 Kotlin 程式語言中,使用 fun 關鍵字來定義函數,定義一個有返回值的函數。
Thumbnail
Kotlin 的字串資料類型代表文字的資料型別,使用雙引號括起來。此外,Kotlin 還支援字串模板,讓在字串中插入變數和表達式更加容易。 除此之外,Kotlin 還提供了許多內建的字串函數,像是 substring() 和 replace(),幫助更輕鬆地處理和操作字串。
Thumbnail
Kotlin 的字串資料類型代表文字的資料型別,使用雙引號括起來。此外,Kotlin 還支援字串模板,讓在字串中插入變數和表達式更加容易。 除此之外,Kotlin 還提供了許多內建的字串函數,像是 substring() 和 replace(),幫助更輕鬆地處理和操作字串。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News