kotlin 类和对象 ,构造函数分主 次(constructor)构造函数,接口(interface),数据类和单例类

 

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值