#在千锋“逆战”学习第34天#反射

反射

什么是类对象
类的对象:基于某个类new出来的对象,也称为实例对象

类对象:类加载的产物,封装了一个类的所有信息(类名、父类、接口、属性、方法、构造方法)

#在千锋“逆战”学习第34天#反射

获取类对象
通过类的对象,获取类对象
Student s = new Student();
Class c = s.getClass();

通过类名获取类对象
Class c = 类名.class;

通过静态方法获取类对象
Class c = Class.forName(“包名,类名”);

常用方法
public String getName()
public Package getPackage()
public Class<? super T> getSuperclass()
public Class<?>[] getInterfaces()
public Filed[] getFileds()
public Method[] getMothods()
public Constructor<?>[] getConstructor()
public T newInstance()

工厂设计模式
开发中有一个非常重要的原则“开闭原则”,对扩展开放,对修改关闭

工厂模式主要负责对象创建问题

可通过反射进行工厂模式的设计,完成动态的对象创建