内在的阶级延伸
在java中,假设我有以下类:
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 AB{ } }
好吧,它会,但是如果你在B
之外有另一个名为B
类呢?
编辑:不,它没有任何区别。 即使有另一个名为B
类,它仍然需要AB
。 所以你的语法是正确的。
您可以这样做,但不要指望您的C类自动使用D类而不是A的内部B类。
每个内部类都可以独立地从实现inheritance。 因此,内部类不受外部类是否已经从实现inheritance的限制。
— 思考Java(第260页)
- 获取类的所有方法的新方法是什么,包括Java 8的inheritance默认方法?
- java中的动态方法调度
- Java:使用多态来避免if语句?
- Parent可以调用Child Class方法吗?
- inheritance与组合
- 将generics类@MappedSuperclass应用为targetEntity.Error:模型上的@ManyToOne.Unit.parent引用未知实体:models.GenericHierarchic
- 从父类ctor调用重写方法
- 使用inheritance的Struts2 Convention插件结果
- 如何使toString()方法返回Super Class私有字段及其实例字段?