Java 如何访问类的动态创建对象的方法和属性
我有以下课程:Java 如何访问类的动态创建对象的方法和属性,java,class,object,reflection,Java,Class,Object,Reflection,我有以下课程: package anto.com.basic; public class IntArrayManipulation { public static void changeMe(int valueArray[]){ valueArray[4]=5; for (int i = 0; i < valueArray.length; i++) { System.out.println(" in method : Re
package anto.com.basic;
public class IntArrayManipulation {
public static void changeMe(int valueArray[]){
valueArray[4]=5;
for (int i = 0; i < valueArray.length; i++) {
System.out.println(" in method : Ref : "+i+ "Value : "+valueArray[i]);
}
}
public static void main(String[] args) {
int value[] = new int[5];
value[0] = 1;
value[1] = 2;
value[2] = 3;
value[3] = 4;
for (int i = 0; i < value.length; i++) {
System.out.println(" main Ref : "+i+ "Value : "+value[i]);
}
changeMe(value);
for (int i = 0; i < value.length; i++) {
System.out.println(" in main : after changeMe called Ref : "+i+ "Value : "+value[i]);
}
}
}
到目前为止,我没有收到任何问题。但是如何访问创建的对象中可用的方法和属性
谢谢您需要阅读有关反射的教程,例如检查 : :
Class.getDeclaredMethod(字符串名称、类…参数类型)
我想你想问的是,如何让“obj”看起来像你所知道的那样
答案是投下它:
IntArrayManipulation obj = (IntArrayManipulation) Class.forName(className);
但是,我有点怀疑为什么要用这种方式通过反射创建对象。除非你有充分的理由,否则你应该:
IntArrayManipulation object = new IntArrayManipulation();
…我猜你可能也不是说所有这些方法都是静态的
Class.getDeclaredMethod(String name, Class<?>... parameterTypes)
IntArrayManipulation obj = (IntArrayManipulation) Class.forName(className);
IntArrayManipulation object = new IntArrayManipulation();