1.黑盒测试和白盒测试的区别?
答:
黑盒测试:不要写代码,给输入值,看程序是否能够给出输出的期望值;
白盒测试:需要写代码,关注程序具体的执行流程;
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
答:
反射:将类的各个组成部分封装为其他对象,这就是反射机制;
应用:用于框架的设计;
好处:
可以在程序运行过程中,操作这些对象;
可以解耦,提高程序的课扩展性;
3.获取 Class对象有几种方式?他们的用途都在哪?
答:
三种:
Class.forName("全类名"):用于配置文件;
类名.class:用于参数的传递;
对象.getClass( );用于对象的获取字节码的方式;
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
答:
Field[] getDeclaredFields():获取所有的成员变量,不考虑修饰符;
Field getDeclaredField(String name):获取指定名称的成员变量,不考虑修饰符;
Method getDeclaredMethod(String name, 类<?>... parameterTypes):获取指定方法,不考虑修饰符;
Method getDeclaredMethods(String name, 类<?>... parameterTypes):获取所有的成员方法,不考虑修饰符;
5.注解在程序中都有哪些用途?
答:
编写文档:通过标识的注解生成文档;
代码分析:通过标识的注解对代码进行分析;
编译检查:通过标识的注解让编译器实现基本的编译检查;
6.什么是元注解?
答:
用于描述注解的注解; |