我想使用字符串

时间:2018-04-28 07:00:51

标签: java

Class.forName(gameGrid.getGameGridArray().get(0)[0]).newInstance();

这是我的班级:

public class D {
   public D() {

}
   public void readText() {
      System.out.println("Yes");
} }

'的newInstance()'方法带给我构造函数。但我不想访问构造函数。

我想调用此类的readText()方法。 有没有办法做到这一点?

1 个答案:

答案 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);