Java 我想访问使用字符串访问的类的方法
这是我的班级:Java 我想访问使用字符串访问的类的方法,java,Java,这是我的班级: Class.forName(gameGrid.getGameGridArray().get(0)[0]).newInstance(); “newInstance()”方法为我带来了构造函数。但是我不想访问构造函数 我想调用这个类的readText()方法。 有办法吗 如果要调用方法,则需要该类的对象实例。 通过反射,您可以访问要调用的方法: public class D { public D() { } public void readText() {
Class.forName(gameGrid.getGameGridArray().get(0)[0]).newInstance();
“newInstance()”方法为我带来了构造函数。但是我不想访问构造函数
我想调用这个类的readText()方法。
有办法吗 如果要调用方法,则需要该类的对象实例。 通过反射,您可以访问要调用的方法:
public class D {
public D() {
}
public void readText() {
System.out.println("Yes");
} }
如果要调用方法,则需要该类的对象实例。 通过反射,您可以访问要调用的方法:
public class D {
public D() {
}
public void readText() {
System.out.println("Yes");
} }
可能
YourClassName cls=xxxxx.newInstance();cls.specificMethod()
?您想做什么?反射地调用实例方法,还是静态方法?所谓“访问”,是指调用吗?@tgdavies是的,我想调用这个类的方法。那么你需要它的实例,不是吗?一旦你有了一个实例,你调用getMethod
来获得一个方法,然后用这个实例调用它;cls.specificMethod()?您想做什么?反射地调用实例方法,还是静态方法?所谓“访问”,是指调用吗?@tgdavies是的,我想调用这个类的方法。那么你需要它的实例,不是吗?一旦你有了一个实例,你调用getMethod
来获得一个方法,然后用该实例调用它。“objectInstance”到底是什么意思?如果方法是静态的,它可以被调用为null,这可能对包含在答案中很有用…谢谢它工作了,但是,如果方法不是静态的,我应该如何调用它?@MertYanık没有反射,调用非静态方法时,它将是objectobjectinstance=newyourclass();a、 nameOfMethod()代码>。这里的objectInstance
与reflect版本相同。“objectInstance”的确切含义是什么?如果方法是静态的,可以调用null,这可能有助于包含在答案中…感谢它工作了,但是,如果方法不是静态的,我应该如何调用它?@MertYanık无反射,当调用非静态方法时,它将是objectobjectinstance=newyourclass();a、 nameOfMethod()代码>。此处的objectInstance
与反射版本相同。
Method method = aClass.getDeclaredMethod("nameOfMethod");
method.invoke(null);