Java "Runtime"继承

标签 java inheritance subclass

Jar base_app 包含类:
基本页
主页
菜单栏
登录页面

BasePage 导入 HomePage、MenuBar 和 SigninPage


项目 my_app 包含 jar base_app
项目 my_app 有一个扩展 HomePage
的类 项目 my_app 有一个扩展 MenuBar 的类
项目 my_app 不会从 base_app(父 jar)扩展 BasePage 和 SigningPage

如何设置BasePage类以允许运行时继承,其中basepage首先查找HomePage的“子类版本”(如果找不到,则使用base_app jar中的HomePage)

最佳答案

如果您列出的所有这些名称都是 java 类名称,则无法在您提到的设置中执行此操作。

必须重新设计基础应用程序才能完全启用依赖注入(inject)(请参阅:https://en.wikipedia.org/wiki/Dependency_injection)并支持组合而不是继承(参见:Difference between Inheritance and Composition)。

关于Java "Runtime"继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31784611/

相关文章:

java - 将 SDL 2.0 游戏移植到 Android

python - 为什么在元类派生自ABCMeta的类中需要使用@abstractmethod?

java - 有什么理由让抽象类定义类中的每个方法?

xml - log4j 可以从基本/根元素继承 xml 吗?

c++ - C++中子类重定义错误

java - 在Java框架中,为什么接受字节数组的BufferedWriter类中没有.write重载?

java - 如何在另一个 Activity 中获取变量?

java - 设计需要根据泛型类型进行重载的 API 的可能性有哪些?

python - 添加新实例变量的 Python set 类子类化的正确(或最佳)方法是什么?

java - 如何将子类对象转换为父类(super class)对象