我有一个要求如下。我已经使用 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/