内容
1.类与构造函数
2.构造函数中的参数
3.继承
4.多态
5.属性以及set/get方法
6.可空类型
7.懒加载和延迟加载
一.类与构造函数
注意:主构造函数与次构造函数的关系,它们之间调用的顺序
每个次构造函数都调用主构造函数,或者多个构造函数之间相互调用,但是最后一定会调用主构造函数,即 次构造函数 ————> 。。。————>次构造函数 ————> 主构造函数
test01
//类与构造函数
fun main(){
var Me = Person1()//输出 我是init函数
}
//类的定义与Java中基本相同
class Person{
}
//kotlin中构造函数分两种,主构造函数和次构造函数
//注意:次构造函数必须显示调用主构造函数。
//其实对象还是主构造函数创建的,主构造函数和次构造函数之间构成一个类似于重载的关系
//构造函数表示方法①
class Person1(){
init{
//init可以理解为主构造函数要做的事情
println("我是init函数")
}
}
class Person2 constructor(){
init{
}
}
//构造函数表示方法②
class Person3(){
init{
}
constructor(name : String):this(){
//注意:次构造函数必须显示调用主构造函数。
}
constructor(name : String,age : Int):this(){
}
}
test02
fun main(){
//var person = Person("帅哥")
//person.name//主构造函数中的参数在外部不能访问,这句话就是错的
var test01 = Person1("贼帅")//输出 贼帅
var test02 = Person1("贼帅",18)
//先输出init里面的 贼帅 ,后输出次构造函数里面的 贼帅,18
//说明先执行主构造函数,后执行次构造函数
}
//带有参数的主构造函数
class Person(name: String){
val Myna