美文网首页
javaExercise

javaExercise

作者: 崔文子 | 来源:发表于2018-08-14 14:15 被阅读0次

    反射机制

    1.获取类对象(类对象概念: 所有的类,都存在一个类对象,这个类对象用于提供类本身的信息,比如有几种构造方法, 有多少属性,有哪些普通方法。)

    String className = "charactor.Hero";

     Class pClass1=Class.forName(className);

     Class pClass2=Hero.class;

     Class pClass3=new Hero().getClass();

    2.  创建一个对象

    //使用反射的方式创建对象

    String className = "charactor.Hero";

    //类对象

    Class pClass = Class.forName(className);

    //获取构造器对象

    Constructor c = pClass.getConstructor();

    //通过构造器实例化

    Hero h2 = (Hero) c.newInstance();

    //使用反射的方式创建对象

    String className = "charactor.Hero";

    //类对象

    Class pClass = Class.forName(className);

    //通过类对象实例化(Class.newInstance() 里面其实也是调用的Constructor.newInstance())

    Hero h2 = (Hero) pClass.newInstance();

    3.通过反射机制修改对象的属性

    getField和getDeclaredField的区别(这两个方法都是用于获取字段getField只能获取public的,包括从父类继承来的字段。getDeclaredField 可以获取本类所有的字段,包括private的,但是不能获取继承来的字段。 (注: 这里只能获取到private的字段,但并不能访问该private字段的值,除非加上setAccessible(true))

    相关文章

      网友评论

          本文标题:javaExercise

          本文链接:https://www.haomeiwen.com/subject/xwlybftx.html