📅  最后修改于: 2020-12-30 07:02:38             🧑  作者: Mango
在本章中,我们将学习Kotlin中的构造函数。 Kotlin有两种类型的构造函数-一种是主构造函数,另一种是辅助构造函数。一个Kotlin类可以具有一个主构造函数和一个或多个辅助构造函数。 Java构造函数会初始化成员变量,但是,在Kotlin中,主要构造函数会初始化类,而辅助构造函数会在初始化时帮助包含一些额外的逻辑。可以在类标头级别上声明主构造函数,如以下示例所示。
class Person(val firstName: String, var age: Int) {
// class body
}
在上面的示例中,我们在括号内声明了主要构造函数。在这两个字段中,名字被声明为“ val”是只读的,而字段年龄可以被编辑。在下面的示例中,我们将使用主构造函数。
fun main(args: Array) {
val person1 = Person("TutorialsPoint.com", 15)
println("First Name = ${person1.firstName}")
println("Age = ${person1.age}")
}
class Person(val firstName: String, var age: Int) {
}
上面的代码将自动初始化两个变量,并在浏览器中提供以下输出。
First Name = TutorialsPoint.com
Age = 15
如前所述,Kotlin允许为您的类创建一个或多个辅助构造函数。此辅助构造函数是使用“ constructor”关键字创建的。每当您想在Kotlin中创建多个构造器,或者想要在主构造器中包含更多逻辑而又不能这样做时,这是必需的,因为主要构造器可能被其他类调用。看下面的示例,在该示例中,我们创建了一个辅助构造函数,并使用上面的示例来实现相同的构造函数。
fun main(args: Array) {
val HUman = HUman("TutorialsPoint.com", 25)
print("${HUman.message}"+"${HUman.firstName}"+
"Welcome to the example of Secondary constructor, Your Age is-${HUman.age}")
}
class HUman(val firstName: String, var age: Int) {
val message:String = "Hey!!!"
constructor(name : String , age :Int ,message :String):this(name,age) {
}
}
注–可以创建任意数量的辅助构造函数,但是,所有这些构造函数都应直接或间接调用主要构造函数。
上面的代码将在浏览器中产生以下输出。
Hey!!! TutorialsPoint.comWelcome to the example of Secondary constructor, Your Age is- 25