2021年5月16日

java 编程基础 Class对象 反射:动态代理 和AOP:java.lang.reflect.Proxy:(Proxy.newProxyInstance(newProxyInstance​(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h))

摘要: 为什么我们使用动态代理 静态代理会让类变多了,多了代理类,工作量变大了,且不易扩展。比如我们上节课的例子,要实现不同的扩展方法就要编写不同的代理类,非常麻烦。 Proxy类的使用规则 Proxy提供了用于创建动态代理类和代理对象的静态方法,它也是所有动态代理类的父类。如果在程序中为一个或多个接口动态 阅读全文

posted @ 2021-05-16 22:49 zhangmingda 阅读(316) 评论(0) 推荐(0) 编辑

java 编程基础 Class对象 反射:代理模式和静态代理

摘要: 生活中的代理 类(对象)代理模式 代理模式是面向对象编程中比较常见的设计模式。 1. 用户只关心接口功能,而不在乎谁提供了功能。上图中接口是 Subject 2. 接口真正实现者是上图的 RealSubject,但是它不与用户直接接触,而是通过代理。 3. 代理就是上图中的 Proxy,由于它实现了 阅读全文

posted @ 2021-05-16 21:24 zhangmingda 阅读(63) 评论(0) 推荐(0) 编辑

java 编程基础 Class对象 反射 :数组操作java.lang.reflect.Array类

摘要: java.lang.reflect包下还提供了Array类 java.lang.reflect包下还提供了Array类,Array对象可以代表所有的数组。程序可以通过使 Array 来动态地创建数组,操作数组元素等。 Array提供了如下几类方法: static Object newInstance 阅读全文

posted @ 2021-05-16 17:04 zhangmingda 阅读(320) 评论(0) 推荐(0) 编辑

java 编程基础 Class对象 反射 :参数反射

摘要: 方法参数反射 Java8在java.lang.reflect包下新增了Executable抽象基类,该对象代表可执行的类成员,该类派生了Constructor和Method两个子类。Executable基类提供了大量方法来获取修饰该方法或构造器的注解信息:还提供了isVarArgs()用于判断该方法 阅读全文

posted @ 2021-05-16 16:55 zhangmingda 阅读(577) 评论(0) 推荐(0) 编辑

java 编程基础 Class对象 反射 :获取类的构造方法,方法,成员变量,内部类,外部类,父类,实现的接口,修饰符等...

摘要: 类 Class 每个类被加载之后,系统就会为该类生成一个对应的Class对象,通过该Class对象就可以访问到JVM中的这个类。 我们在Java中获取Class对象一般有三种方式: (1), 使用Class类的forName(String className)静态方法。该方法需要传入字符串参数,该字 阅读全文

posted @ 2021-05-16 14:11 zhangmingda 阅读(603) 评论(0) 推荐(0) 编辑

导航