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

导入继承的嵌套类

  •  1
  • shmosel  · 技术社区  · 1 年前

    如果我声明一个嵌套类:

    class Outer {
        static class Nested {}
    }
    

    然后扩展外部类:

    class Child extends Outer {}
    

    我可以参考 Nested 通过 Child :

    new Child.Nested()
    

    但我只能进口 Outer.Nested :

    import mypackage.Outer.Nested;  // valid
    import mypackage.Child.Nested;  // compile error
    

    为什么不一致?

    1 回复  |  直到 1 年前
        1
  •  -2
  •   Teletubbies    1 年前

    不一致的原因是关键字 static 在声明中。 difference between nested class and inner class

    嵌套类是在另一个类中定义的静态类。它不绑定到外部类的特定实例。