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

209

被折叠的 条评论
为什么被折叠?



