📜  Kotlin-构造函数

📅  最后修改于: 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