反射机制

xiaoxiao2022-06-14  41

//JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; //对于任意一个对象,都能够调用它的任意一个方法; //这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 public class Test { public static void main(String[] args) { String className="com.zengguo.Father"; // try { // Class c=Class.forName(className); //当这个类有无参的构造方法时我们可以这样调用 // Object obj=c.newInstance();//生成对象实体 // Class []cl=new Class[]{String.class};//参数的类型 // Method m=c.getMethod("show",cl);//show是方法名 // Object returnValue=m.invoke(obj,new Object[]{"zengguo"}); // System.out.println(returnValue); // } catch (Exception e) { // e.printStackTrace(); // } //当这个类的构造方法有一个int行的参数是时我们这样调用 try { //加载一个类(其实这个类我们在编译的时候是完全未知的,只有在运行的时候才知道),同时返回的是Class这样的一个描述类 Class c=Class.forName(className); //构造方法的参数的类型 Class []ctorcl=new Class[]{int.class}; Constructor ctor=c.getConstructor(ctorcl); Object obj=null; obj=ctor.newInstance(new Object[]{1});//生成对象实体 //调用的方法的参数类型 Class []methodcl=new Class[]{String.class}; Method m=c.getMethod("show",methodcl); //调用 Object returnValue=m.invoke(obj,new Object[]{"zengguo"}); System.out.println(returnValue); } catch (Exception e) { e.printStackTrace(); } } }
转载请注明原文地址: https://www.6miu.com/read-4936499.html

最新回复(0)