【发布时间】:2021-08-31 02:20:53
【问题描述】:
我有一个 ManagerCLass,其中包括许多其他对象。这是方法,它接受这些对象并在这些对象上调用一个方法.. 示例:
public class Manager extends BaseManager {
ClassA classA = new ClassA();
ClassB classB = new ClassB();
ClassC classC = new ClassC();
ClassD classD = new ClassD();
ClassE classE = new ClassE();
public void callMethodsOnObjects() {
classA.printResult();
classB.printResult();
classC.printResult();
classD.printResult();
classE.printResult();
}
}
这些类都有相同的超类。现在我的问题是,有没有办法自动化 callMethodsOnObjects() 方法?
我的想法是获取 Manager 类的所有声明类。然后循环数组,在每个对象上执行 printResult() 方法。
Class<?>[] classes = Manager.class.getDeclaredClasses();
for (int i = 0; i < classes.length; i++) {
....
}
但这不起作用。数组为空。
那么你有一个想法,如果这是一种自动化的方法吗? 还有更多以这种方式构造的方法。 我在这儿哪儿也去不了。像我想象的那样这样做有意义吗?
【问题讨论】:
标签: java class reflection class-members