java 中 的反射 总类

反射

     反射就是在不用实例化的情况下  进行对运行时类进行一定的操作。

    优点是,进行编码的时候方便代码的维护。

    缺点是,速度相对于实例化(new)来说较慢。



   反射的5种情况:分别是 默认构造器反射,构造器反射, 方法反射  ,字段[属性]反射 ,数组反射。



1.默认构造器反射:Class a=Class.forName(" 类的路径 ");Object o=a.newInstance();

2.构造器反射:   Constructor c=a.getConstructor(String.class,int.class); Object o=c.newInstance(" "," ");

3.字段[属性]反射:   Field f=a.getDeclaredField("name");   f.setAccessible(true); f.set(对象,值); f.get(对象);

4.方法反射:Method g=a.getMethod("getName"); g.invock(对象);

5.数组反射: Object o=Array.newInstance(String.class, 3);Array.set(o, 0, "aaa"); Array.set(o, 1, "bbb");Array.set(o, 2, "ccc");for(int i=0;i<3;i++){System.out.println(Array.get(o, i)); }


你可能感兴趣的:(java 中 的反射 总类)