代码之家  ›  专栏  ›  技术社区  ›  Cactus

内部类中的嵌套类

  •  0
  • Cactus  · 技术社区  · 7 年前

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

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

    这给了我一个“这里不允许上课”的错误 class Nested 线

    当然,我可以移动 Nested 旁边 Inner 一切都会成功;但在我的实际用例中, 嵌套的 只与执行 内部的 ,所以我想把它放在里面。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Steven Spungin    7 年前

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

    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) {
    
            }
        }
    }
    
    推荐文章