我如何用变量(例如字符串)表示对象类型。例如,我一直在DrawPanel12中使用DrawPanel1,DrawPanel2,DrawPanel3。
在一个单独的类中,我有一个方法可以用“ DrawPanel1 panel = new DrawPanel1();”创建每个方法,但是我想有一个方法。

public void TestPanel(int panelNum){}


在此处创建DrawPanel(panelNum),因此如果传入2,则会创建一个新的DrawPanel2。

我想到用[String Panel = ("DrawingPanel"+panelNum);]
但是当我使用面板而不是对象名称时,它将无法正常工作。

最佳答案

我想我理解您的要求,并且将为您的即时问题提供答案。但是,您尝试的操作听起来有些复杂。以下可能需要一些调整...

public void testPanel(Class<?> clazz) {
    Object instance = Class.forName(class.getName());
    ...
}


在这一点上,实例对您没有多大帮助。您还可以使用不同的DrawPanel所使用的方法创建一个DrawPanelI接口,并让它们各自实现该接口。然后,将Object实例更改为DrawPanelI实例。现在,您可以通过实例调用通用方法。

10-08 15:08