一、Java Annotation(Java 注解)
1.a)Override注解表示子类要重写(override)父类的对应方法。
b)Deprecated注解表示方法是不建议被使用的。
c)SuppressWarnings注解表示抑制警告。
2.自定义注解(@interface):当注解中的属性名为value时,在对其赋值时可以不指定属性的名称而直接写上属性值即可;除了value以外的其他值都需要使用name = value这种赋值方式,即明确指定给谁赋值。
3.当我们使用@interface关键字定义一个注解时,该注解隐含的继承了java.lang.annotation.Annotation接口;如果我们定义一个接口,并让该接口继承自Annotation,那么我们所定义的接口仍是接口而不是注解;Annotation本身是接口不是注解。
二、Retention和RetentionPolicy :表示注解被保存的时间长度
位于java.lang.annotation包下,具体查看java api文档
三、Target和ElemType限定注解用于修饰什么
四、简单了解Junit(单元测试框架):3.8 , 4.x
1) Junit4的执行的一般了流程:
a)首先获得待测试类所对应的Class对象
b)然后通过该Class对象获得当前类中所有public方法所对应的Method数组
c)遍历Method数组,取得每一个Method对象
d)调用每个Method对象的isAnnotationPresent(Tess.class)方法,判断该方法是否被Test注解所注释
e)如果该方法返回true,那么调用method.invoke()方法去执行该方法,否则不执行
2)单元测试不是为了证明你是对的,而是证明你没有错误。
五、异常(Exception)
1)Java中的异常分为两大类:
a)Checked exception(非Runtime Exception)
b)Unchecked exception(Runtime Exception)
2)Java中所有的异常类都会直接的或间接的继承Exception类
3)RuntimeException类也是直接继承Exception类,它叫运行时异常,Java中所有的运行时异常都会直接或间接的继承自RuntimeException。
4)Java中凡是继承自Exception而不是继承自RuntimeException的类都是非运行时异常。
5)异常处理一般结构
try
{
}
catch(Exception e)
{
}
finally
{
}
finally 关键字是对 Java 异常处理模型的最佳补充,finally 结构使代码总会执行,而不管有无异常发生,使用 finally 可以维护对象的内部状态,并可以清理非内存资源。
6)对于非运行时异常(checked excption),必须要对其进处理,处理方式有两种:第一种是使用try...catch...finally进行捕获;第二种是在调用该会产生异常的方法所在的类声明throws Exception。
7)对于运行时异常(runtime exception),我们可以不对其进行处理,也可以对其进行处理。推荐不对其进行处理。
8)NullPointerException是空指针异常,出现该异常的原因在于某个引用为null,但你却它的某个方法;这时就会出现异常。