java - 使用一个类(classA)中的方法,其中使用反射api java加载另一个类(classB)

标签 java api class reflection dynamic

我有一个要求如下。我已经使用 java 中的 Reflection 加载了一组类 [存在于 jar 文件中]。现在在加载的类中,我想调用加载类中的某些方法。

例如,假设存在 A 类和 B 类。使用反射,我从类 A 加载类 B。因此我能够使用类 A 中的类 B 中的方法。但我想使用类 B 中的类 A 中的一些方法。

非常感谢您的帮助。

谢谢..

最佳答案

这似乎是一个错误的设计。尝试重新考虑一下。您当前的设置可以通过应用单例模式来解决。例如:

abstract class SomeSingleton {

    private static SomeSingleton instance;

    public static void setInstance(SomeSingleton instance) {
        this.instance = instance;
    }

    public static SomeSingleton getInstance() {
        return instance;
    }

    public abstract void someMethod();
}

class ClassA extends SomeSingleton {

    public ClassA() {
        SomeSingleton.setInstance(this);
    }

    @Override
    public void someMethod() {
        System.out.println("some methid is called");
    }
}

class ClassB {

    public void aMethod() {
        SomeSingleton.getInstance().someMethod();
    }
}

这样 ClassB 就不必知道 ClassA 了。它只知道一项服务。 ClassA 向 SomeSingleton 报告它可以提供该服务。 - 所以每个人都很高兴。

关于java - 使用一个类(classA)中的方法,其中使用反射api java加载另一个类(classB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6174093/

相关文章:

java - 如何创建开发/调试和生产设置

java - 谷歌日历 API 表示由于值无效( session 属性),出现 400 错误请求

python - Discord API 401 未经 OAuth 授权

c++ - 通过复制将对象传递给 CUDA 内核会调用其析构函数并过早释放内存

Java "Null, The class ends at Null"

java - 通配符,它​​是如何工作的?

java - 如何验证是否选择了 WebElement

Java API修改

php - 查询 Outlook API 时出现 PP_E_RPS_CERT_NOT_FOUND 错误

c++ - 无法初始化类成员?