摘要:
为什么要写动态代理类? 例子: 如果现在想做个登陆注册的功能。用户可以执行登陆、注册、添加、删除这些功能。 但是,有些功能是要有一定权限才可以执行的。 而现在已经有了个用户类的接口和该类的实现类了,但里面没有添加 “权限查询”和“日志记录”这两个功能。 这个时候我不可能去改动这两个类,而且,我以后遇 阅读全文
摘要:
代理:本来应该自己做的事情,却请了别人来做,被请的人就是代理对象。 举例:春季回家买票让人代买 动态代理: 在程序运行过程中产生的这个对象 而程序运行过程中产生对象其实就是我们刚才反射讲解的内容,所以,动态代理其实就是通过反射来生成一个代理 在Java中java.lang.reflect包下提供了一 阅读全文
摘要:
标题的意思是: 通过反射写一个类,类中有个方法。该方法可以设置某个类中的某个属性(构造方法,成员变量,成员方法)为特定的值 代码: 测试类: 阅读全文
摘要:
之前学过的集合里面都有泛型,规定了泛型的类型以后,就不能往这个集合添加除了这个类型之外的类型数据了。 那么,有什么方法可以越过这个泛型,添加特定类型以外的类型数据么? 例子: 往ArrayList<Integer>集合中添加一个字符串String类型的数据 分析: 通过查看ArrayList的add 阅读全文
摘要:
在以前,如果我们想要调用一个类中的方法,只能这样子: 例: 有Cat和Dog两个类,里面有eat和run两个成员方法: 在之前,如果想要调用类里面的方法,只能这样: 这样做,有个缺点,如果类多了,方法多了,以后的更改很麻烦。 那么,为了以后的更改的方便。 创建个对应的配置文件,运用反射来访问这些方法 阅读全文
摘要:
类Method:提供关于类或接口上单独某个方法(以及如何访问该方法)的信息。 A:获取所有方法 数组 1、getMethods 获取该类包括其父类的公共成员方法 2、getDeclaredMethods 获取该类的所有的成员方法 B:获取单个方法 1、getMethod 获取该类所有的公共类单个成员 阅读全文
摘要:
类Field: 提供有关类或接口的单个字段的信息,以及对它的动态访问权限。 A:获得类的成员变量 数组: 1、getFields(公共类的) 2、getDeclaredFields(所有类型的) B:获得类的单个成员变量: 1、getField (公共类的) 2、getDeclaredField ( 阅读全文
摘要:
类 Constructor<T>:提供关于类的单个构造方法的信息以及对它的访问权限。 通过反射的方法获取构造方法并使用 ps:先忽略泛型 A.1:获取构造方法的数组: public Constructor<?>[] getConstructors():获得所有公共构造方法 public Constr 阅读全文
摘要:
反射: JAVA语言的反射机制: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意一个方法和属性; 这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 如何解剖一个类: 要想解剖一个类,必须先要获取到该类 阅读全文
摘要:
说到反射,首先说类的加载器。 类的加载: 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。 加载: 就是指将class文件读入内存,并为之创建一个Class对象。 任何类被使用时系统都会建立一个Class对象。 连接: 验证 是否有正确的 阅读全文