1.类和实例化
创建一个类:PerSon类:
class PerSon { var name = "" var age = 0 fun eat(){ println("$name is eating, He is $age years old") } } 对person 类进行实例化
fun main(array:Array<String>){ var perSon = PerSon(); perSon.name="张三" perSon.age=18 perSon.eat() }
结果是:张三 is eating, He is 18 years old
简化Person 代码
class PerSon(var name:String,var age:Int) { fun eat(){ println("$name is eating, He is $age years old") } }
fun main(array:Array<String>){
var perSon = PerSon("张三",18);
perSon.eat()
}
2.继承与构造函数(构造函数分主次构造函数)
创建一个Student
class Student{
var id = ""
var grade = 0
}
想Student 继续 Person:如下面图
直接继承是显然不行的,想PerSon被继承,只需要在 PerSon 类前面 加一个 open
open class PerSon(val name:String,val age :Int) { fun eat(){ println("$name is eating, He is $age years old") } }
在看Student 类
Student 实例化
fun main(array:Array<String>){ // var perSon = PerSon("张三",18); // perSon.eat() var student = Student("a123",2,"张三",18) } 结果打印:id is a123 grade is 2
上面的主构造函数的写法代码,
接下来看看次构造函数,
上面两个次构造函数,
无参次构造函数 调用 两个参数 次构造函数 ,两个参数 次构造函数调用 主构造函数
无参次构造函数 -> 两个参数 次构造函数 -> 主构造函数
接口(interface)
创建一个Study 接口 ,让Student 类去实现Study接口, interface Study { fun readBooks() fun doHomework() } 数据类和单例类 数据类 : data calss Student 单例类 : Object Singleton