北京电脑培训网站,企业网站运行通知,珠海网站建设q479185700强涵,品牌注册商标查询JAVA高级技术入门#xff08;单元测试#xff0c;反射#xff0c;注解#xff0c;动态代理#xff09; 一、Junit单元测试二、反射1.认识反射#xff0c;获取类概念#xff1a;快速入门#xff1a;获取Class对象的三种方式 2.1获取类的构造器2.2获取类的构造器的作用单元测试反射注解动态代理 一、Junit单元测试二、反射1.认识反射获取类概念快速入门获取Class对象的三种方式 2.1获取类的构造器2.2获取类的构造器的作用依然是初始化对象返回3.1获取类的成员变量3.2获取类的成员变量的作用依然是赋值取值4.1获取类的成员方法4.2获取类的成员方法的作用5.作用应用场景反射的作用 三、注解1.认识注解2.自定义注解3.注解的原理4.元注解5.注解的解析什么是注解的解析如何解析注解 6.注解的应用场景 四、动态代理什么是动态代理 总结 一、Junit单元测试
Junit单元测试笔者在前文已详细讲解如果感兴趣的话可以关注笔者的上一篇文章 二、反射
1.认识反射获取类 概念
加载类。并允许以编程的方式解剖类中的各种成分成员变量方法构造器等
快速入门
加载类获取类的字节码Class对象获取类的构造器Constructor对象获取类的成员变量Field对象获取类的成员方法Method对象 获取Class对象的三种方式
Class c1类名.class调用Class提供的方法public static Class forName(String package);Object提供的方法public Class getClass() Class c3对象.getClass(); 2.1获取类的构造器 注意获得有参数的构造器时参数为对于类型的Class类如String.class,int.class 2.2获取类的构造器的作用依然是初始化对象返回 注意反射会破坏封装性 3.1获取类的成员变量 3.2获取类的成员变量的作用依然是赋值取值 4.1获取类的成员方法 4.2获取类的成员方法的作用 5.作用应用场景
反射的作用
基本作用可以得到一个类的全部成分然后操作可以破坏封装性最重要的用途适合做Java的框架基本上主流的框架都会基于反射设计出一些通用的功能 三、注解
1.认识注解
就是Java代码中的特殊标记比如Override,Test,作用是让其它程序根据注解信息来决定怎么执行该程序注意注解可以在类上构造器上方法上成员变量上参数上等位置处
2.自定义注解
public interface 注解名称 {public 属性类型 属性名() default 默认值 ;
}特殊属性名value
如果注解中只有一个value属性使用注解时value名称可以不写
注意序号1和序号2作用相同 3.注解的原理
注解本身是一个接口Java中所有的注解都是继承了Annotation接口的注解(…):其实就是一个实现类对象实现了该注解以及Annotation接口 4.元注解
指的是修饰注解的注解常见的两个元注解
(1) Target
(2).Retention 5.注解的解析
什么是注解的解析
就是判断类上方法上成员变量上是否存在注解并把注解里的内容解析出来 如何解析注解 6.注解的应用场景
一般是用来配合反射等技术做框架案例
模拟Junit框架
需求
定义若干个方法只要加了MyTest注解就会自动触发该方法执行
分析
定义一个自定义注解MyTest只能注解方法存活范围为一直都在定义若干个方法部分方法加上MyTest注解修饰,部分方法不加模拟一个Junit程序可以触发加了MyTest注解的方法执行
具体操作
1.创建一个MyTest注解
2.创建Annotation测试类
其中创建了4个测试方法其中test2和test4加上了注解其他未加3.创建main方法实现模拟Test注解
主要原理是利用反射遍历Annotation中的所有方法
解析每个方法上是否有MyTest注解
若有则执行当前方法允许
若无则不执行
这样就成功模拟了Test测试注解4.结果
可以看到成功实现了模拟Test注解四、动态代理
什么是动态代理
代理类通常会持有一个委托类对象代理类不会自己实现真正服务而是通过调用委托类对象的相关方法来提供服务所以其实我们调用的还是委托类的服务但是中间隔了一个代理类 总结
关于Java的这些高级技术可能在平常编写简单程序的时候不会用到但事实上在Java工程化项目中这些都是最基础的知识点大家一定要学好这部分知识才能在Java工程化项目的底层原理面前游刃有余。