导入继承的嵌套类

问题描述 投票:0回答: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

为什么不一致?

java inheritance import inner-classes
1个回答
0
投票

我假设你在外面的某个班级添加

new Child.Nested()
mypackage
如果是这样,由于
Nested
内部类不是公共成员,您将无法导入它。

但是,如果它在同一个包中,则可能不需要 import 语句。

子类将继承

Outer
类的所有非私有字段和方法,包括嵌套类,
Child
类将可以直接访问嵌套类

© www.soinside.com 2019 - 2024. All rights reserved.