java反射以及乱七八糟

java反射以及乱七八糟

Junit单元测试:
黑盒子和白盒子://晓不晓得流程
Junit;
1.定义一个测试类
建议类名加Test
2.定义测试方法:独立运行 test类名()
3.给方法加一个@test;
4.导入依赖:
断言://预测
Assert.asserEquals(期望,实际)
@Befor//所有的测试方法执行之前都会先执行这个方法**资源的申请
@After//所有的测试方法执行以后都会执行这个方法
资源释放
反射:reflect//框架灵魂
框架:半成品:简化编码
将类的各个组成部分封装成对象
好处:
1.可以在程序运行过程中,操作这些对像
2.可以解耦,提高程序的可扩张性
获取class对象的方式:
1.class.forName(“全类名”);将字节码文件加载进内存,返回class对象
2.类名.class:通过类名的属性class获取
3.对象.getclass():再object类中定义
结论:同一个*。class对象都是一个
1:多数用于配置文件,读取文件加载类
2.多用于参数的传递
3.多用于对象的字节码的方式
使用class对象:
获取:
1.获取成员变量:
Field[] getFields();//获取所有的成员变量
get(obj);set(obj);
Field getField(String name)//获取一个变量

	忽略修饰符:d.setAccessible(true);//暴力反射 
			Field[] getDeclaredFields();//获取所有的成员变量*不管修饰符
			Field getDeclaredField(String name);//获取一个成员变量*不管修饰符
		2.获取构造方法;
			Constructor<?>[] getConstructors();//
			Constructor<T> getConstructors(类<?>...parameterTypes);//class.getConstructors(String.class,int.class );
			 创建对象:newInstance(string name,int age)
		
			Constructor<?>[] getDeclaredConstructors();
			Constructor<T> getDeclaredConstructors(类<?>...parameterTypes)
		3.获取成员方法;
			Method[] getMethods();
			Method getMethod(String name,类<?>...parameterTypes)
			objec invoke();
		
			Method[] getDeclaredMethods();
			Method getDeclaredMethod(String name,类<?>...parameterTypes)
		4.获取类名;
			String getName();

注解:说明程序 @注解名称
1.代码文档 javadoc
2.代码分析
3.编译检查
jdk预定义:
@override:用来检测该方法是不是继承父类/父接口
@Deprecated:表示内容已过时
@SuppressWarnings(“all”):压制警告//=all
自定义注解:
元注解
public @interface 注解名称{};
本质就是一个接口:默认继承annotation;
属性;接口中的抽象方法
要求;
1.返回值类型:基本数据类型,字符串,枚举,注解
2.使用赋值,也可以默认赋值default;value可以直接写值—数组需要{}
元注解:
@Target():描述能够作用的位置
type:类上
METHOD:方法
FIELD:成员
@Retention():描述注解保留阶段
会保留class字节码文件中,并被jvm读取到
@Documented():描述是否被抽取到api文档
@Inherited():描述注解是否被子类继承
在程序中使用注解:获取注解的属性值
解析注解:
1.获取该类的字节码文件对象
2.获取注解的对象obj.geAnnotation(
.class)//在内存中生成了该注解接口的子类对象
3.调用注解中抽象方法,获取返回值

		1.获取注解定义位置
		2.获取指定注解
		3.调用注解的抽象方法获取配置属性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天至少八杯水i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值