我如何用变量(例如字符串)表示对象类型。例如,我一直在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实例。现在,您可以通过实例调用通用方法。