Java 内部类扩展
在java中,假设我有以下类:Java 内部类扩展,java,inheritance,extends,Java,Inheritance,Extends,在java中,假设我有以下类: public class A{ protected class B{ } } 我可以通过执行以下操作来扩展内部类吗 public class C extends A{ protected class D extends B{ } } 我想做的是,我有上面的C类,我需要更改A的内部类中的某些内容,所以我想我需要扩展内部类来实现这一点,但我不确定具体怎么做。如果这样做不起作用(我认为不会),那么以下应该: public class C extend
public class A{
protected class B{
}
}
我可以通过执行以下操作来扩展内部类吗
public class C extends A{
protected class D extends B{
}
}
我想做的是,我有上面的C类,我需要更改A的内部类中的某些内容,所以我想我需要扩展内部类来实现这一点,但我不确定具体怎么做。如果这样做不起作用(我认为不会),那么以下应该:
public class C extends A{
protected class D extends A.B{
}
}
好吧,会的,但是如果在A
之外有另一个名为B
的类呢
编辑:不,没有区别。即使有另一个名为
B
的类,它仍然需要A.B
。因此,您的语法是正确的。根据,您找到了扩展内部类的正确方法。在文章的中间可以找到一些提示(搜索“扩展”)。允许这样做,但是不要期望C类自动使用D类而不是A的B类。p>
每个内部类都可以独立地从实现继承。
因此,内部类不受外部类是否存在的限制
已从实现继承
---用Java思考是的,你可以像那样扩展内部类。如果
D
是static
,它是不起作用的,但它不是,它是这样的。这是继承外部/内部类数据结构的真正关键方面。是否有任何已知的模式来处理这个问题(泛型等)?我要说的是注入您想要使用的实际的B实例(在本例中为B或d)。