A
a1 a2 a3*
在这个例子中,A 是 SUPER 类,它有 a1,a2 作为子类。
假设a3被添加到A中,那么我希望A从a3中得到一个特征(它应该是可选的)。 a3 的这个额外功能应该交给 A(父类(super class)),所有其他 child (a1,a2)也应该获得这个功能。
在 Java 或 Java 设计中是否可行?
最佳答案
没有。这不受 Java 支持。注意
class A1 extends A
不应被解释为“我正在向 A 添加内容”。它应该被解释为“这是一个新类,作为这个类的基础,我将使用A
”。
如果您有 a1
、a2
和 a3
的某些方面,A
应该可以访问,因此a1
、a2
和 a3
我建议你做类似的事情
class A {
protected A1 a1 = new A1();
protected A2 a2 = new A2();
protected A3 a3 = new A3();
...
}
您还可以使 A1
、A2
和 A3
成为非静态内部类,以便它们引用封装 A
。
关于java - SUPER 类应该从它的 SUBCLASS 中获取函数和属性。在Java中有可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6343868/