JAVA SE基础笔记 (6)

通过反射来对变量赋值:

package itshuai.com; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; public class Reflection { public static void main(String[] args) throws Exception { //通过类的字符串名称来获取对应的Class对象 Class per = Class.forName("itshuai.com.Person"); //获取所有的成员变量 //public Field[] getDeclaredFields() throws SecurityException Field[] fis = per.getDeclaredFields(); for(Field fi:fis) { System.out.println(fi); } //获取单个的成员变量并赋值 //public Field getDeclaredField(String name) throws NoSuchFieldException,SecurityException Field fi = per.getDeclaredField("name"); //将指定对象变量上此 Field 对象表示的字段设置为指定的新值。 //public void set(Object obj,Object value) throws IllegalArgumentException,IllegalAccessException //需要创建一个person的对象 Constructor con = per.getConstructor(); Object pe = con.newInstance(); //对私有的对象上面的name字段赋值 fi.setAccessible(true); fi.set(pe, "陈帅"); System.out.println(pe); } }

通过反射来调用方法:

package itshuai.com; import java.lang.reflect.Constructor; import java.lang.reflect.Method; public class Reflection { public static void main(String[] args) throws Exception { //通过类的字符串名称来获取对应的Class对象 Class per = Class.forName("itshuai.com.Person"); //获取此类所有的方法 //public Method[] getDeclaredMethods() throws SecurityException Method[] mes = per.getDeclaredMethods(); for(Method me:mes) { System.out.println(me); } //获取单个方法 //public Method getDeclaredMethod(String name,Class<?>... parameterTypes) throws NoSuchMethodException,SecurityException Method me = per.getDeclaredMethod("method",String.class); //对带有指定参数的指定对象调用由此 Method对象表示的底层方法。 //public Object invoke(Object obj,Object... args) throws IllegalAccessException,IllegalArgumentException,InvocationTargetException //通过反射来创建一个对象 Constructor con = per.getConstructor(); Object pe = con.newInstance(); //使用方法的对象通过类的对象和参数来调用方法,如果调用的是有返回值的方法,进行接受一下就可以了 me.setAccessible(true); me.invoke(pe, "方法调用了"); } } 单元测试 什么是单元测试

单元测试:单元测试是指在计算机编程中,针对程序模块(软件设计的最小单位)来进行正确性的检验工作。

特点:

程序单元是应用的最小可测试部件,通常采用基于类或者类的方法进行测试

程序单元和其他单元是互相独立的

单元测试的执行速度很快

单元测试发现问题后,比较好定位

单元测试通常由开发人员来完成

通过了解代码的实现逻辑进行测试,通常称为白盒测试

JUnit单元测试框架

JUnit是基于java语言的主流单元测试框架。

TestNG单元测试框架

TestNG比JUnit更强大。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzfzs.html