黑马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类:提供了为对象产生代理的方法

相关推荐
三水彡彡彡彡2 分钟前
Java中使用正则表达式的正确打开方式
java·开发语言·正则表达式
百思可瑞教育20 分钟前
Nginx代理缓存机制深度解析:从原理到最佳实践
java·nginx·缓存·北京百思可瑞教育·百思可瑞教育
深耕AI1 小时前
【MFC教程】C++基础:01 小黑框跑起来
开发语言·c++·mfc
@HXH1 小时前
LeetCode第二题知识点2 ---- 栈、堆、地址
java·开发语言
Source.Liu1 小时前
【Rust】 2. 数据类型笔记
开发语言·笔记·rust
草莓熊Lotso1 小时前
【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day16
c语言·开发语言·经验分享·算法·强化
yzx9910131 小时前
使用Python和GitHub构建京东数据自动化采集项目
c语言·开发语言·人工智能·python
一 乐1 小时前
医院排班|医护人员排班系统|基于springboot医护人员排班系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·医护人员排班系统
yannan201903132 小时前
【Python】QT(PySide2、PyQt5):Qt Designer,VS Code使用designer,可能的报错
开发语言·python·qt
小牛历险记2 小时前
手表--带屏幕音响-时间制切换12/24小时
c语言·开发语言·c·学习方法