class Item
{
public static test()
{
}
}
String s = "package.Item";
Item o = (Item)Class.forName(s).cast(Item.class); // *
o.test();
但是标记的行失败了:
java.lang.ClassCastException:无法将java.lang.Class强制转换为items.Item
答案 0 :(得分:1)
要创建新实例,您需要执行以下操作
Class c = Class.forName("Item");
Item i = (Item)c.newInstance();
如果要调用静态方法,只需在类而不是实例
上调用它Item.test();
或者您可以在不直接引用类
的情况下使用反射Class c = Class.forName("Item");
Method method = c.getMethod("test");
method.invoke(null);