嵌套的内部类会自动从Java中外部类的超类继承吗?

问题描述 投票:-1回答:1

说我有一个外部类A,它嵌套了内部类B。A是C的子类。那么B也是C的子类吗?由于B可以访问A的所有私有成员,因此可以访问A的(公共和受保护的)超类,因此我认为B成为C的子类。

我的思路正确吗?

非常感谢您的帮助。

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

没有在A中成为嵌套类并不等于成为A的超类的子类。访问成员不是成为子类的定义特征。

假设您尝试将类型为B的对象分配给类型为C的变量。]​​>

class C {} 
class A extends C {
    static class B {}
}
... 
C c1 = new A(); // OK -- A is a subclass of C
C c2 = new A.B(); // Not OK

如果BC的子类,则后者将是合法的转让。但事实并非如此。

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