印章类
印章类又称为密封类,用来表示受限的类继承结构:当一个值为有限几种的类型, 而不能有任何其他类型时。使用sealed
关键字修饰类,印章类可以有子类,但是所有的子类都必须要内嵌在印章类中
现有母驴、公驴、公马三只动物
母驴+公驴=驴子
母驴+公马=骡子
我们创建一个Son class来形容三只动物的儿子,由于只能是驴子,或骡子,所以我们加关键字sealed
fun main(args: Array<String>) {
var son1:Son = Son.donkey()
var son2:Son = Son.mule()
var son3:Son = Son.donkey()
var list = listOf<Son>(son1,son2,son3)
for(s in list){
if(s is Son.donkey){
s.sayHello()
}
}
}
不能直接实例Son的,因为它有关键字sealed
,没有构造方法,所以这样写会报错
查看运行结果
枚举
enum class Week{
星期一,星期二,星期三,星期四,星期五,星期六,星期天
}
fun main(args:Array<String>){
println(Week.星期一.ordinal)
println(Week.星期天.ordinal)
}