类反射

第1章 反射

定义:

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;

这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象。

/*
 *  获取一个类的class文件对象的三种方式
 *   1. 对象获取
 *   2. 类名获取
 *   3. Class类的静态方法获取
 */

源码实例如下:

public class ReflectDemo {
    public static void main(String[] args)throws ClassNotFoundException {
        //1. 对象获取
        Person p = new Person();
        //调用Person类的父类的方法 getClass
        Class c = p.getClass();
        System.out.println(c);
        
        //2. 类名获取
        //每个类型,包括基本和引用,都会赋予这个类型一个静态的属性,属性名字class
        Class c1 = Person.class;
        System.out.println(c1);
        
        //3. Class类的静态方法获取 forName(字符串的类名)包名.类名
        Class c2 = Class.forName("cn.itcast.demo1.Person");
        System.out.println(c2);
    }
原文地址:https://www.cnblogs.com/a8457013/p/8126539.html