Class.forName(gameGrid.getGameGridArray().get(0)[0]).newInstance();
这是我的班级:
public class D {
public D() {
}
public void readText() {
System.out.println("Yes");
} }
'的newInstance()'方法带给我构造函数。但我不想访问构造函数。
我想调用此类的readText()方法。 有没有办法做到这一点?
答案 0 :(得分:2)
如果要调用方法,则需要该类的对象实例。 通过反射,您可以访问要调用的方法:
Class<?> aClass = Class.forName(gameGrid.getGameGridArray().get(0)[0]);
Object objectInstance = aClass.newInstance();
Method method = aClass.getDeclaredMethod("nameOfMethod");
method.invoke(objectInstance);
除非它是一个静态方法,否则你可以调用null(对Ernest Kiwele的信用)。
Method method = aClass.getDeclaredMethod("nameOfMethod");
method.invoke(null);