反射
Always_As
IT小白
展开
-
反射:还原一个类的基本信息
简述反射是在运行时而非编译时动态获取类型的信息(接口信息,成员信息,方法信息,构造方法信息等)然后依据这些动态获取到的信息创建对象,访问修改成员,调用方法等。反射可以在运行时判断任意一个对象所属的类,任意一个类的成员变量和方法,调用任何一个类的方法,构造任意一个类的对象;生成动态代理。可通过Class.forName(“类名”)方法可以访问返回一个指定类名的类对象,因为在java里面任何一个cla...原创 2018-05-02 23:40:27 · 367 阅读 · 0 评论 -
通过反射得到类中的方法,并调用。
简介一般创建对象时,我们需要直接new类的对对象,这种编程方式称为硬编码(代码写死了),为了后期程序的可扩展,开发中通常采用实例内的完整限定名(包名.类名),通过反射加载字符串指定的类,并通过反射创建对象,得到类中的基本信息。得到类中的方法1.创建一个类Studentspackage Reflect; public class Students { public Students() {...原创 2018-05-13 16:04:11 · 2134 阅读 · 0 评论 -
反射了解泛型集合的本质
泛型包括泛型集合,泛型类。类似于模板,一种规范。泛型的好处:单易用,消除强制类型转换,保证类型安全。泛型集合中只能存储同一类型的元素,遍历等操作时,不需要强制类型转换。我们要做的操作就是使用反射在泛型集合中添加不同的元素,了解泛型的本质。首先我们创建一个测试类package Reflect; import java.lang.reflect.Method; import java.util.Ar...原创 2018-05-14 22:44:34 · 252 阅读 · 0 评论 -
反射实现动态代理
代理模式代理模式的定义:为其他对象提供一种代理以控制这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用应一个对象,需要实现相同的接口,而代理对象可以在客户端和目标对象之间起到中介的作用。就好比销售。代理商是受别人的委托,帮助委托人销售指定的商品。而这件商品原本是委托人,而不是代理商的。Java中的开闭原则:对拓展是开放的,修改是封闭的,不得修改源代码。当我们对一个类进行拓展时,这时就需要...原创 2018-05-22 22:32:18 · 405 阅读 · 0 评论