Kotlin中定义类的关键字依然是class
//如果是仅仅是定义一个类,那么可以省略大括弧,直接这样定义即可
class Animal
如果类中还需要方法或者属性的话,就需要加上大括弧了
c
lass Animal{
var name:String?=null
var age:Int=0
fun eat(){}
}
Kotlin中默认会为成员属性添加get/set方法
示例中的name和age两个属性,虽然我们没有声明对应的get和set方法,但是我们依然可以直接调用两个方法
//获取属性,类似get方法
var age=animal.age
var name=animal.name
//更改属性,类似set方法
animal.age=10
animal.name=“奔波儿霸”
Kotlin中使用constructor来声明构造方法,
在Kotlin中,构造方法分主要构造方法和次要构造方法
1.次要构造方法
类似java中的构造方法,直接声明在类中的
class Animal{
var name:String?=null
var age:Int=0
// 空参的构造方法
constructor()
//有参数的构造方法
constructor(age:Int,name:String){
this.name=name
this.age=age
}
}
备注:构造方法如果没有方法体,那么大括弧可以省略
构造方法相互调用
class Animal{
var name:String?=null
var age:Int=0
//空参的构造方法调用两个参数的构造方法
constructor():this(10,"奔波儿灞")
constructor(age:Int,name:String){
this.name=name
this.age=age
}
}
如果是子类的构造方法调用父类的构造方法,那么把 :this换成 :super即可
说明:可以看到,构造方法的相互调用使用 :this或者 :super