为啥我们不能在 Kotlin 的 Singleton 类(对象)中使用受保护的访问修饰符
Posted
技术标签:
【中文标题】为啥我们不能在 Kotlin 的 Singleton 类(对象)中使用受保护的访问修饰符【英文标题】:Why can't we use protected access modifier in Singleton class (object) for Kotlin为什么我们不能在 Kotlin 的 Singleton 类(对象)中使用受保护的访问修饰符 【发布时间】:2020-05-03 05:35:56 【问题描述】:为什么我们不能在 Kotlin 的 Singleton 类中使用 protected 访问修饰符。 我们可以在 Java 类中使用 protected 访问修饰符,但是对于 kotlin,这行不通。
【问题讨论】:
【参考方案1】:在 Kotlin 中,您不能从单例 object
继承,这就是 protected
修饰符无用的原因,因为 protected
修饰符只为此类和子类打开函数/属性。
【讨论】:
【参考方案2】:您不能从 Kotlin 中的对象继承,因此受保护的修饰符没有任何意义。在Java中,没有语言层面的单例,它只是一个具有特定逻辑的类
【讨论】:
以上是关于为啥我们不能在 Kotlin 的 Singleton 类(对象)中使用受保护的访问修饰符的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Kotlin 不能推断以下 lambda 参数(在 Java -> Kotlin 转换之后)?
为啥我不能在 Kotlin Flow 中使用像 rxJava.Single.create 这样的发射函数?