这里到底能不能继承

来源:7-10 密封类 sealed class

慕莱坞0998854

2023-05-19

老师你好,这一节开始就把我弄晕了,一开始老师说密封类,首先是一个抽象类,所以可以被继承,然后又说它的构造器是私有的,所以没办法继承它,然后又有下面的代码:

class Song  {
}

class ErrorInfo {}

sealed class PlayerState

object Idle : PlayerState()

class Playing(val song: Song) : PlayerState() {
    fun start() {}

    fun stop() {}
}

class Error(val errInfo: ErrorInfo) : PlayerState() {
    fun recover() {}
}




请问下老师,这里的Playing和Error类是不是PlayerState的子类呢?如果是的话,到底有没有继承PlayerState这个密封类呢?

写回答

1回答

bennyhuo

2023-05-19

同学再仔细听一下,构造器私有,所以文件外部无法访问,所以密封类无法被(文件外部的类)继承。
2
0

学会Kotlin 突破开发语言瓶颈

如果有一门语言可以取代Java,那么它一定是Kotlin。

1795 学习 · 488 问题

查看课程