我不明白当抽象类的构造函数在 Kotlin 中是私有的时会发生什么。在这个例子中,我使用了一个密封类,默认情况下它有一个私有构造函数。但是,我可以从子类调用私有构造函数。
sealed class Operation(val x: Int, val y: Int)
class Add(x: Int, y: Int) : Operation(x, y)
class Subtract(x: Int, y: Int) : Operation(x, y)
class Multiply(x: Int, y: Int) : Operation(x, y)
class Divide(x: Int, y: Int) : Operation(x, y)
当您想使用构造函数实例化类时,不允许调用私有构造函数。但是,如果类是抽象的,那么构造函数是私有的还是公有的都没有关系,因为无法实例化该类。
你能澄清一下在抽象类上有一个私有构造函数是什么意思吗?