如果我声明一个嵌套类:
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
为什么不一致?
我假设你在外面的某个班级添加
new Child.Nested()
mypackage
如果是这样,由于 Nested
内部类不是公共成员,您将无法导入它。
但是,如果它在同一个包中,则可能不需要 import 语句。
子类将继承
Outer
类的所有非私有字段和方法,包括嵌套类,Child
类将可以直接访问嵌套类