【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
11會員
243內容數
哈囉!歡迎光臨我的沙龍!我是 KT,一位對應用程式開發充滿熱情的開發者。在這個專屬空間,我將與您分享我在應用開發領域的深入學習心得和豐富的實戰經驗。如果您對應用程式開發技術同樣充滿好奇,渴望不斷探索新知,歡迎成為我們的會員,一起在應用程式開發的旅途上,探索更深層次的技術世界,享受學習的樂趣。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
HKT實驗室 的其他內容
本文介紹在 Kotlin 中使用 throw 關鍵字來拋出例外狀況的方法。
本篇文章介紹 Kotlin 中的 try…catch 和 finally 例外處理,並提供在 IntelliJ IDEA 中撰寫相關程式碼的快速鍵。
本文將介紹在Kotlin中如何進行自訂例外處理,包括建立自訂例外類別、使用自訂例外、以及如何在程式中精確處理不同的錯誤狀況。
本文介紹 Kotlin 中的預先條件函數(Preconditions)的使用,包括 checkNotNull、require、requireNotNull 和 assert 函數,這些函數有助於確保程式碼的穩定性和可靠性。
在 Kotlin 中,null 安全是一個強大的特性,它確保了程式的穩定性和可靠性。Kotlin 提供了一種方式來明確指定哪些資料可以為 null,以及哪些資料不可以為 null。這種特性使得程式在編譯時能夠捕捉到可能的 null 引用,從而避免了執行時的錯誤。
本文介紹在 Kotlin 中使用 throw 關鍵字來拋出例外狀況的方法。
本篇文章介紹 Kotlin 中的 try…catch 和 finally 例外處理,並提供在 IntelliJ IDEA 中撰寫相關程式碼的快速鍵。
本文將介紹在Kotlin中如何進行自訂例外處理,包括建立自訂例外類別、使用自訂例外、以及如何在程式中精確處理不同的錯誤狀況。
本文介紹 Kotlin 中的預先條件函數(Preconditions)的使用,包括 checkNotNull、require、requireNotNull 和 assert 函數,這些函數有助於確保程式碼的穩定性和可靠性。
在 Kotlin 中,null 安全是一個強大的特性,它確保了程式的穩定性和可靠性。Kotlin 提供了一種方式來明確指定哪些資料可以為 null,以及哪些資料不可以為 null。這種特性使得程式在編譯時能夠捕捉到可能的 null 引用,從而避免了執行時的錯誤。
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
本章節是Java入門的第八天,主要介紹物件導向的概念。這包括了類別、建構子、存取修飾子、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、Lambda表達式、泛型和反射等主題。每個主題都配有相關的程式碼範例,以協助讀者更好地理解這些概念。
Thumbnail
本章節旨在教導讀者如何在 Kotlin 中引入套件。將會涵蓋如何引用第三方套件,如何引用自定義模組,以及如何創建和引用自定義套件。此外,還會列出一些常用的套件,以供讀者參考。
Thumbnail
本章節的目的是介紹 Kotlin 中的物件導向概念。這包括了類別、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型以及反射等概念。每一個概念都會透過範例程式碼來解釋其功能和用法。
Thumbnail
這章節的目的是介紹 Kotlin 語言中函數的基本用法和概念,包括函數的聲明、使用、參數和返回值等。通過學習這章節,讀者可以熟練掌握如何在 Kotlin 中定義和使用函數,來解決各種問題。
Thumbnail
此文件的目的是教授 Kotlin 程式語言的運算符,包括算數運算子、比較運算子、賦值運算子、位元運算子以及運算子的優先等級。這將有助於讀者更好地理解和撰寫 Kotlin 程式碼。
Thumbnail
本章節的目的是介紹 Kotlin 的各種資料型別。包括內建型別如基本數值型別、字串型別和布林型別等,以及如何進行型別轉換。此外,也介紹了如何定義自訂型別(類)和元組型別,以及 Kotlin 提供的集合型別,例如列表(List)、集合(Set)和映射(Map)以及陣列(Array)。
Thumbnail
本文總結和介紹了Kotlin的基本語法、註解和變數的使用,透過實例進行講解,以幫助讀者更好地理解和快速上手Kotlin語言。
Thumbnail
這個章節的目的是為了介紹Kotlin這種程式語言,包含它的特性、應用領域、使用者,以及相關的學習資源和工具。透過這篇文章,讀者可以了解到Kotlin的基礎知識,並開始學習和使用它。
Thumbnail
這個章節主要介紹了Swift程式語言中物件導向程式設計的基本概念,包括類別、建構子、公開、私有、受保護等等的概念。同時,也介紹了繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射等進階特性。
Thumbnail
本章節是一個初級的 TypeScript 教學,主要介紹了 TypeScript 中物件導向程式設計的各種核心概念,包括類別、建構子、存取修飾子、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型和反射等。每個概念都通過詳細的解釋和實例代碼來進行深入的介紹。
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
本章節是Java入門的第八天,主要介紹物件導向的概念。這包括了類別、建構子、存取修飾子、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、Lambda表達式、泛型和反射等主題。每個主題都配有相關的程式碼範例,以協助讀者更好地理解這些概念。
Thumbnail
本章節旨在教導讀者如何在 Kotlin 中引入套件。將會涵蓋如何引用第三方套件,如何引用自定義模組,以及如何創建和引用自定義套件。此外,還會列出一些常用的套件,以供讀者參考。
Thumbnail
本章節的目的是介紹 Kotlin 中的物件導向概念。這包括了類別、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型以及反射等概念。每一個概念都會透過範例程式碼來解釋其功能和用法。
Thumbnail
這章節的目的是介紹 Kotlin 語言中函數的基本用法和概念,包括函數的聲明、使用、參數和返回值等。通過學習這章節,讀者可以熟練掌握如何在 Kotlin 中定義和使用函數,來解決各種問題。
Thumbnail
此文件的目的是教授 Kotlin 程式語言的運算符,包括算數運算子、比較運算子、賦值運算子、位元運算子以及運算子的優先等級。這將有助於讀者更好地理解和撰寫 Kotlin 程式碼。
Thumbnail
本章節的目的是介紹 Kotlin 的各種資料型別。包括內建型別如基本數值型別、字串型別和布林型別等,以及如何進行型別轉換。此外,也介紹了如何定義自訂型別(類)和元組型別,以及 Kotlin 提供的集合型別,例如列表(List)、集合(Set)和映射(Map)以及陣列(Array)。
Thumbnail
本文總結和介紹了Kotlin的基本語法、註解和變數的使用,透過實例進行講解,以幫助讀者更好地理解和快速上手Kotlin語言。
Thumbnail
這個章節的目的是為了介紹Kotlin這種程式語言,包含它的特性、應用領域、使用者,以及相關的學習資源和工具。透過這篇文章,讀者可以了解到Kotlin的基礎知識,並開始學習和使用它。
Thumbnail
這個章節主要介紹了Swift程式語言中物件導向程式設計的基本概念,包括類別、建構子、公開、私有、受保護等等的概念。同時,也介紹了繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射等進階特性。
Thumbnail
本章節是一個初級的 TypeScript 教學,主要介紹了 TypeScript 中物件導向程式設計的各種核心概念,包括類別、建構子、存取修飾子、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型和反射等。每個概念都通過詳細的解釋和實例代碼來進行深入的介紹。