在java中,假设我有以下类:
public class A{
protected class B{
}
}
我可以通过执行以下操作来扩展内部类吗?
public class C extends A{
protected class D extends B{
}
}
我想要做的是我有上面的C类,我需要在A的内部类中进行更改,所以我认为我需要扩展内部类来这样做,但我不确定到底是怎么回事那样做。
答案 0 :(得分:7)
答案 1 :(得分:1)
如果这不起作用(我认为不会),则应该:
public class C extends A{
protected class D extends A.B{
}
}
嗯,它会,但是如果你在B
之外有另一个名为A
的类呢?
编辑:不,它没有任何区别。即使有另一个名为B
的类,它仍然需要A.B
。所以你的语法是正确的。
答案 2 :(得分:1)
您可以这样做,但不要指望您的C类自动使用D类而不是A的内部B类。
答案 3 :(得分:0)
每个内部类都可以独立地从实现继承。 因此,内部类不受外部类是否 已经从实现中继承。
--- Java思维页面260