Java反射和设计模式
目录 Java反射 反射 为什么需要反射 类对象 反射相关的类 常见操作 获取类对象的方法(3种) 获取类中的构造方法 获取、调用类中的普通方法 获取、设置类中的属性 特例(带有数组参数的方法) 反射优点和缺点 使用反射模拟实际插件开发 内省 设计模式介绍 设计模式 单例设计模式 实现方式一:饿汉子(类加载时创建,天生线程安全) 实现方式二:懒汉子 实现方式三:静态内部类 简单工厂模式(不属于23种GOF设计模式之一) 案例 Java反射 反射 反射就是把Java类中的各种成分映射成一个个单独Java对象进行操作。 本质 :就是类的解剖技术。 类中成分主要包括:成员变量,构造方法,包等。 为什么需要反射 需求:我公司定义了一组接口,然后第三方公司按照我公司的接口实现了一套功能,然后交给我们,但是我们公司的项目已经结束,如何实现动态加载第三方公司提供的功能? 插件开发 (反射技术) 类对象 类的对象:基于某个类new出来的对象,也称实例对象。 类对象:类加载的产物,封装了一个类的所有信息(类名、父类、接口、属性、方法、构造方法) 反射相关的类 Class类——可获取类和类中的成员信息 Filed类——可访问类的属性 Method类——可调用类的方法 Constructor类——可调用类的构造方法 常见操作 获取类对象的方法(3种) 通过类的对象的 getClass(); 方法