day16-反射与Junit

反射与Junit

代码规范

包名:全小写,公司域名倒写.模块名.组件名

接口:首字母大写通常首字母用"I",表示这个是一个接口

接口实现类:通常去掉首字母的"I"然后结尾以"Impl"结尾

类名:首字母大写,名词。遵循驼峰表示法

方法名:首字母小写。用较为清晰的语义表示,遵循驼峰表示法

变量名:首字母小写。遵循驼峰表示法

常量名:全大写,每个单词用"_"分割

Junit

Junit是一个回归测试框架。Junit是程序员测试用的,这种测试是百合测试的一种。

Junit4.x针对java5之后的版本,使用注解(推荐)

Junit5.x针对java8之后的版本(若使用了java8的新特性要使用Junit5.x的版本)

测试类通常定义为XxxTest命名,不能直接使用Test命名会引起Test注解的冲突

测试方法是一个公共、无参、无返回值的方法,方法名建议使用test开头

在测试方法上需要添加一个@Test的注解否则不能使用

反射

每一个类都有字段、方法、构造器,所有的类都会生成字节码文件

反射就是通过字节码对象获取其中的字段、方法、构造器

如何获得Class对象

方法1

Class.forName("全限定名");

方法2

实例对象.getClass();

方法3

.class

基础类型的Class对象与封装类型的联系

八大基础可以.class获取Class对象

所有的封装类型都有.Type这个静态属性,即获得基础类型的Class对象

Class与构造器相关的方法

方法作用
public Constructor getConstructor(Class<?>… parameterTypes)获得一个构造器(public修饰)
public Constructor<?>[] getConstructors()获得多个构造器(public修饰)
public Constructor getDeclaredConstructor(Class<?>… parameterTypes)获得一个构造器(任何修饰)
public Constructor<?>[] getDeclaredConstructors()获得多个构造器(任何修饰)

返回的对象是Constructor类该类可以通过newInstance()方法把获取的构造器进行实例

Class与方法相关的方法

方法作用
public Method getMethod(String name, Class<?>… parameterTypes)获得一个方法(public修饰)
public Method[] getMethods()获得多个方法(public修饰)
public Method getDeclaredMethod(String name, Class<?>… parameterTypes)获得一个方法(任何修饰)
public Method[] getDeclaredMethods()获得多个方法(任何修饰)

返回的对象是Method类该了可以通过invoke()方法运行方法不过参数需要填写一个实例对象

注:如果调用静态方法的时候可以不填实例对象

Class与属性相关的方法

方法作用
public Field getField(String name)获得一个属性(public修饰)
public Field[] getFields()获得多个属性(public修饰)
public Field getDeclaredField(String name)获得一个属性(任何修饰)
public Field[] getDeclaredFields()获得多个属性(任何修饰)

返回的对象是Field类该类可以通过get方法获取属性的值,也可以使用set方法进行赋值,可以将对象进行动态修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值