kotlin - 内部类中的嵌套类

标签 kotlin inner-classes

有没有办法在内部类中定义嵌套类?我认为嵌套类只是一个命名空间,没有运行时结果,所以我不明白为什么下面的内容不应该进行类型检查:

class Outer {
    inner class Inner {
        class Nested {
    }
}

这在 class Nested 行上给出了“此处不允许类”错误。

当然,我可以将 Nested 的定义移到 Inner 旁边,一切都会正常;但在我的实际用例中,Nested 仅与 Inner 的实现相关,因此我想将其保留在内部。

最佳答案

那么这会起作用吗?现在嵌套可以访问内部和外部。对于各种与“闭包”相关的问题,不允许忽略嵌套的内部。

class Outer {
    inner class Inner {
        inner class Nested {
    }
}

数据类

data class Outer2(var foo: Int) {
    data class Inner(var foo: Int) {
        data class Nested(var foo: Int) {

        }
    }
}

关于kotlin - 内部类中的嵌套类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51758115/

相关文章:

android - requestLocationUpdates不调用locationCallback

android - 关闭 RecyclerView 子尺寸变化动画

java - 内部类访问EJB

c++ - 从成员结构的成员函数中访问类的成员?

android - fragment 中的mapView.onCreate(savedInstanceState)

api - 改造 2 获取 Github 用户 API 总是返回 null

android - 无法在 Kotlin 中构建发布版本

java - 在内部类中访问外部类变量

java - Java 是否保证对外部类的引用持久化?下面的踪迹怎么可能呢?

java嵌套接口(interface)和内部类