学习kotlin的构造方法,首先我们得明白
为什么得有构造方法?
构造方法是在创建对象自动调用的方法,所以一般用来对对象的变量进行初始化。 构造方法的作用就是你想一个对象刚出生的时候就长成什么样什么样,而不是先 生出来一个默认的,然后再赋值赋值赋值。new的时候会自动调用构造方法,没有构造方法不能实例化对象。
构造方法分为两类:
1.默认的无参构造方法
类本身不知道如何创建自己的对象,对象本身是由基层的object(){}来创建
再由当前这个类来初始化那个对象
2.重载的有参构造方法,一般有以下两种作用
a.为了方便给初始化值
b.在创建对象的同时,给与某些需要的数据
这时就讨论到了一个很重要的话题,“时机”,我们生成这个对象初始化所带有数据的时机,在创建对象时就自动赋值初始化,能极大程度上简化我们的程序。
明白了以上几点,下面就是Kotlin的构造函数具体实现内容啦
Kotlin构造函数
Kotlin构造函数可以分为两类
1.主构造函数
创建⼀个没有主体的类
class Person
显示指定构造⽅法
class Person2 constructor()
在主构造函数中有两种情况,一种是可以省略constructor,另一种则不能省略constructor,
不能省略的情况如下:
a.主构造函数需要传递⼀个字符串对象constructor不能省略,如:
class Person3 constructor(var name:String)
b.有修饰符限定构造函数权限时constructor不能省略,如:
class Person4 private constructor()
除此之外,如果有父类,主构造函数必须直接调⽤⽗类的构造函数,如:
open class Father
class Person5 : Father()
如果⽗类有参数⼦类必须提供相应有参的构造函数,如:
open class Father2 constructor(name: String)
class Person6 constructor(name: String) : Father2(name)
2.次构造函数
次构造函数在函数内
class Person(){
constructor(name:String) : this(){}
}
次构造函数需要注意以下几点:
a.有主构造函数,次构造函数必须直接调⽤主构造函数
b.如果有⽗类,主构造函数必须调⽤⽗类的构造函数,而次构造函数必须继承主构造函数,包括父类的构造函数
class Person7(name: String) {
constructor(name: String, age: Int):this(name)
}
c.次构造函数只需要考虑和主构函数的关系
open class Father3 constructor(name: String)
class Person8 constructor(name: String) : Father3(name){
constructor(name: String, age: Int):this(name)
Kotlin构造函数的内容就大致如上啦,熟练掌握构造函数的使用,灵活实现构造函数的运用,能在我们写程序时提高我们代码的简洁性,同时也让我们写代码的速率大大提升。