【发布时间】:2018-08-09 02:47:41
【问题描述】:
有没有办法在内部类中定义嵌套类?我认为嵌套类只是一个命名空间的东西,没有运行时后果,所以我不明白为什么下面不应该类型检查:
class Outer {
inner class Inner {
class Nested {
}
}
这给了我class Nested 行上的“此处不允许类”错误。
当然,我可以将Nested 的定义移到Inner 旁边,一切都会正常;但在我的实际用例中,Nested 只与Inner 的实现相关,所以我想保留它。
【问题讨论】:
-
在 Java 中,不允许内部类声明静态成员。 Kotlin 使用相同的原理。如果不是这样,那么与 Java 的互操作性就会变得更加混乱,只会使边缘问题受益。
标签: kotlin inner-classes