美文网首页
java反射学习

java反射学习

作者: 乔震 | 来源:发表于2017-07-05 01:09 被阅读0次

    1.类加载器

      (1) 负责将class文件加载到内存中,并为之生成对应的Class对象;

       (2)类加载器的组成

    Bootstrap ClassLoader  根类加载器

       也被称为引导类加载器,负责java核心类的加载(比如System,String等在JDK中jre的lib目录下rt.jar文件中)

    Extension ClassLoader 扩展类加载器

    负责JRE的的扩展目录中jar包的加载(在JDK中jre的lib目录下的ext目录)

    System ClassLoader 系统类加载器

    负责在JVM启动时加载来自java命令的class文件,以及classpath环境变量所指定的jar包和类路径)

    2.反射

            JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性,这样动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。(简单说:反射就是通过class文件对象,去使用该文件中的成员变量,构造方法,成员方法)

    3.获取class文件对象的方式

    A:Object类的getClass()方法

           Person p = new Person();

           Class c = p.getClass();

    B:数据类型的静态属性class

          Class c3 = Person.class;

    C:Class类中的静态方法

            public static Class forName(String className)

            Class c4 = Class.forName("Reflect.Person");  //这里需要完整类名

    4.通过反射获取构造方法并使用

    (1)获取构造方法

    public Constructor[] getConstructors(); 所有公共构造方法

    public Constructor[] getDeclaredConstructors(); 所有构造方法

    (2)获取单个构造方法

    相关文章

      网友评论

          本文标题:java反射学习

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