我在 Kotlin 中創建了一個 Person 類和一個 Student 類:
在第 27 行,我試圖實作一個用戶可以通過提供 4 個引數來創建“學生”類的情況:FirstName、LastName、Age 和 Degree。

我還用 Java 撰寫了等效的代碼。我正在嘗試在第 30 行實作 Java 等效代碼的輔助建構式:

如何避免 Kotlin 代碼中出現“預期的主建構式呼叫”?
uj5u.com熱心網友回復:
對于您的用例,您甚至不需要輔助建構式。您可以在建構式中有可選引數。像這樣的例子:
open class Person(var firstName: String, var lastName: String, var age: Int? = null) {
override fun toString() = "$firstName | $lastName | $age"
}
class Student(firstName: String, lastName: String, var degree: String, age: Int? = null) : Person(firstName, lastName, age) {
override fun toString() = "$firstName | $lastName | $age | $degree"
}
展示:
fun main() {
val a = Person("Aaa", "aaA")
val b = Person("Bbb", "bbB", 20)
val c = Student("Ccc", "ccC", "degreeC")
val d = Student("Ddd", "ddD", "degreeD", 21)
println(a)
println(b)
println(c)
println(d)
}
輸出:
Aaa | aaA | null
Bbb | bbB | 20
Ccc | ccC | null | degreeC
Ddd | ddD | 21 | degreeD
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/519727.html
標籤:科特林遗产
下一篇:C 將孩子作為父母傳遞給函式
