gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 06:24:40 24 4
gpt4 key购买 nike

我有一个要求如下。我已经使用 Java 中的反射加载了一组类 [存在于 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 - 使用一个类(classsA)中的方法,其中使用反射api java加载另一个类(classB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6174093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com