java - SUPER 类应该从它的 SUBCLASS 中获取函数和属性。在Java中有可能吗?

标签 java oop language-agnostic inheritance

       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


如果您有 a1a2a3 的某些方面,A 应该可以访问,因此a1a2a3 我建议你做类似的事情

class A {
    protected A1 a1 = new A1();
    protected A2 a2 = new A2();
    protected A3 a3 = new A3();

    ...
}

您还可以使 A1A2A3 成为非静态内部类,以便它们引用封装 A

关于java - SUPER 类应该从它的 SUBCLASS 中获取函数和属性。在Java中有可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6343868/

相关文章:

php - 在面向对象编程中,哪个对象应该维护多对多关系? (如果有的话)

c# - 使用Createmany动态设置类型

language-agnostic - 如何从当前目录中的所有文件名中删除空格

java - 在 Android Studio 中使 subView 监听双击

java - 调用使用 Java ASM 添加的方法时出现 ClassFormatError 错误

java - "import foo.*"不应该也包括子包 "foo.bar.*"吗?

具有抽象类的 C++ 组合

language-agnostic - 动态调度实现

algorithm - 如何平衡评级数量与评级本身?

java - 您如何使用 Java 确定 Windows 的 32 位或 64 位体系结构?