黑马java-JavaSE进阶-java高级技术

1.单元测试

就是针对最小的功能单元方法,编写测试代码对其进行正确性测试

2.Junit单元测试框架

可以用来对方法进行测试,它是第三方公司开源出来的

优点:

可以灵活的编写测试代码,可以针对某个方法执行测试,也支持一键完成对全部方法的自动化测试,且各自独立

不需要程序员去分析测试的结果,会自动生产测试报告出来

测试方法必须是public void声明,必须用@Test测试

3.断言机制:

程序员可以通过预测业务方法的结果

一键自动化单元测试

Junit4单元测试框架的常用注解

在测试方法执行的方法,常用于:初始化资源

在测试方法执行后在执行的方法,常用于:释放资源

4.反射

反射就是,加载类,并允许以编程的方式解剖类中的各种成分(成员变量、方法、构造器等)。

反射第一步:加载类,获取类的字节码:CLass对象

反射的作用:适合做java的框架,基本上,主流的框架都会基于反射设计出一些通用的功能

5.反射获取class对象的三种方式:

Class c1=类名.class

调用Class提供方法:public static Class forName(String package)

Object提供的方法:public Class getClass(); Class c3=对象.getClass()

获取类构造器的作用:初始化一个对象返回

6.反射获取类的成员变量

7.获取类的成员方法

作用:依然是执行

8.注解:

就是java代码里的特殊标记,比如:@Override,@Test等

作用是:让其他程序根据注解信息来决定怎么执行该程序

注意:注解可以用在类上、构造器上、方法上、成员变量上、参数上、等位置

9.自定义注解:

就是自己定义注解

特殊属性名:value

如果注解中只有一个value属性,使用注解时,value名称可以不写

注解的本质是一个接口,java中所有注解都是继承了Annotation接口

@注解(....):其实就是一个实现类对象,实现类该注解以及Annotation接口

10.元注解

修饰注解的注释

11.注解的解析

就是判断类上、方法上、成员变量上是否存在注解,并把注解里的内容解析出来

如何解析注解:

指导思想:要解析谁上面的注解,就应该先拿到谁

比如要解析类上面的注解,则应该先获取类的class对象,再通过class对象解析其上面的注解

比如要解析成员方法上的注解,则应该获取到该成员方法的Method对象,再通过Method对象解析其上面的注解

Class、Method、Field、Constructor,都实现了AnnotatedElement接口,它们都有解析注解的能力

12.动态代理

对象的事情太多可以通过代理转移部分职责

对象有什么方法下被代理,代理就一定要有对应的方法

java.lang.reflect.Proxy类:提供了为对象产生代理的方法

相关推荐
A__tao10 分钟前
告别手写 Go 结构体!推荐一个支持注释解析的 YAML 转 Struct 在线工具
开发语言·后端·golang
何以解忧,唯有..12 分钟前
Go 语言语句分隔符详解:分号、换行与代码规范
开发语言·golang·代码规范
人邮异步社区16 分钟前
C语言进阶的书籍推荐
c语言·开发语言
星辰_mya16 分钟前
openfeign之在回首
java·架构·dubbo·springcloud·openfeign
青山木17 分钟前
Hot 100 --- 滑动窗口最大值
java·数据结构·算法·leetcode·动态规划
青山木18 分钟前
Hot 100 --- 除自身以外数组的乘积
java·数据结构·算法
凡人叶枫23 分钟前
Effective C++ 条款33:避免遮掩继承而来的名字
linux·服务器·开发语言·c++·嵌入式开发
10岁的博客23 分钟前
NOIP2010普及组「接水问题」详解:模拟算法与优先队列解法
开发语言·c++·算法
凡人叶枫23 分钟前
Effective C++ 条款31:将文件间的编译依存关系降至最低
linux·开发语言·c++·php·嵌入式开发·effective c++
Sam092728 分钟前
Java 转 AI Agent 开发:Java 和 Python 的区别与快速学习指南
java·人工智能·python·ai