类加载器&反射

2020-11-05  本文已影响0人  眼若繁星丶

1.类加载器

1.1类加载【理解】

1.2类加载器【理解】

1.2.1类加载器的作用

1.2.2JVM的类加载机制

1.2.3Java中的内置类加载器

1.2.4ClassLoader 中的两个方法

2.反射

2.1反射的概述【理解】

2.2获取Class类对象的三种方式【应用】

2.2.1三种方式分类

2.2.2示例代码

public class ReflectDemo {
    public static void main(String[] args) throws ClassNotFoundException {
        //使用类的class属性来获取该类对应的Class对象
        Class<Student> c1 = Student.class;
        System.out.println(c1);

        Class<Student> c2 = Student.class;
        System.out.println(c1 == c2);
        System.out.println("--------");

        //调用对象的getClass()方法,返回该对象所属类对应的Class对象
        Student s = new Student();
        Class<? extends Student> c3 = s.getClass();
        System.out.println(c1 == c3);
        System.out.println("--------");

        //使用Class类中的静态方法forName(String className)
        Class<?> c4 = Class.forName("com.itheima_02.Student");
        System.out.println(c1 == c4);
    }
}

2.3反射获取构造方法并使用【应用】

2.3.1Class类获取构造方法对象的方法

2.3.2Constructor类用于创建对象的方法

方法名 说明
T newInstance(Object...initargs) 根据指定的构造方法创建对象

2.4反射获取构造方法并使用练习1【应用】

2.5反射获取构造方法并使用练习2【应用】

2.6反射获取成员变量并使用【应用】

2.6.1Class类获取成员变量对象的方法

2.6.2Field类用于给成员变量赋值的方法

方法名 说明
voidset(Object obj,Object value) 给obj对象的成员变量赋值为value

2.7反射获取成员变量并使用练习【应用】

2.8反射获取成员方法并使用【应用】

2.8.1Class类获取成员方法对象的方法

2.8.2Method类用于执行方法的方法

方法名 说明
Objectinvoke(Object obj,Object... args) 调用obj对象的成员方法,参数是args,返回值是Object类型

2.9反射获取成员方法并使用练习【应用】

2.10反射的案例【应用】

2.10.1反射练习之越过泛型检查

2.10.2运行配置文件中指定类的指定方法

上一篇 下一篇

猜你喜欢

热点阅读