Java单元测试+反射+注解

今日内容

  1. Junit单元测试(如何编写测试类的代码和主方法)
  2. 反射(后期学习框架的灵魂)
  3. 注解

Junit使用步骤

  1. 定义一个测试类(也叫测试用例)
    建议:测试类名:被测试的类+Test
    包名:xxx.xxx.test
  2. 定义测试方法(可以独立运行)
    建议:方法名:test+测试的方法名
    返回值:void
    参数:空参
  3. 给方法加上 @Test 注解
  4. 导入Junit依赖环境 不然步骤3会报错
  5. 判断结果是否正确 使用Assert类中的静态方法进行判断
    @Before 和 @After 是在测试方法运行前和运行后都会被执行的 一般用于IO操作的资源申请和释放

反射(框架 设计的灵魂)
框架:是一个半成品的软件 简化代码
反射机制概念:将 类的各个组成部分 封装为其他的对象
好处:1.可以在程序运行过程中操作这些其他对象 2.可以提高程序的可扩展性

Java代码运行分为三个时期:

  1. IDE(集成开发环境)编写.java .java通过javac命令编译成.class(字节码文件) 【Source源代码阶段】【存储在硬盘上】
  2. 对于.class文件经过 类加载器(ClassLoader)加载到内存中 形成一个Class类对象
    这个对象主要包含三部分:成员变量Fields[]数组,构造方法Constructor[]数组,成员方法Methods[]数组 【Class类对象阶段】【内存中】
  3. new 类名称 => 创建对象 【Runtime运行时阶段】【内存中】

获取Class类对象的三种方式:

  1. 对于【Source源代码阶段】:Class.forName(“全类名”) 将字节码文件.class手动加载到内存中
  2. 对于【Class类对象阶段】:类名.class 通过类名属性获取
  3. 对于【Runtime运行时阶段】:对象.getClass()方法获得 .getClass()是Object类(祖宗类)的方法
    【结论】同一个字节码文件.class在一次程序运行过程中,只会被加载到内存一次,所以上述三种方式获得的Class对象的地址相等

反射主函数

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;

@MyPro(className = "JavaWeb.day02.Person", methodName = "eat")
public class ReflectDemo {
   
    public st
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值