反射是Java中的一种特性,能够从class中获取该实例化对象的信息包括方法以及属性。
通俗点来讲:我们使用类的时候通常是这个顺序:
import 该类 —> 实例化该类【使用 new 关键字】–>使用其方法
而反射是
获取实例化Class对象 —> 使用其方法或者获取其信息
就是可以通过已实例化的Class对象获取对应的类的属性、方法、包等信息
用个示例来讲就是:顺着来是需要找到你的家package
,然后再在你的家找到你,然后反过来就是,我知道了你的名字【包.类
】就能把你的所有信息都搞到【这样讲就有点像推理的感觉】
反射主要用到的类就是Class、Constructor[构造器]、Method[方法]、Field[属性],后面三种都可以通过Class获得
Class类
public final class Class<T> implements Serializable, GenericDeclaration, Type, AnnotatedElement
这个类可以获取类的源信息,这个类使用泛型,避免所谓的向下转型
Class:三种实例化方式
1)使用Object类的实例化对象的getClass()方法来获取
Food
package javabase.entity;
public