元数据的作用
如果要对于元数据的作用进行分类,目前还没有明确的定义,不过我们可以根据它所起的作用,大致可分为三类:
编写文档:通过代码里标识的元数据生成文档。
代码分析:通过代码里标识的元数据对代码进行分析。
编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查。
基本内置注解
@Override java中覆写
@Deprecated的作用是对不应该在使用的方法添加注释,当编程人员使用这些方法时,将会在编译时显示提示信息,它与javadoc里的
@deprecated标记有相同的功能,准确的说,它还不如javadoc
@deprecated,因为它不支持参数
@SuppressWarnings,其参数有:
deprecation,使用了过时的类或方法时的警告
unchecked,执行了未检查的转换时的警告
fallthrough,当 Switch 程序块直接通往下一种情况而没有 Break 时的警告
path,在类路径、源文件路径等中有不存在的路径时的警告
serial,当在可序列化的类上缺少 serialVersionUID 定义时的警告
finally ,任何 finally 子句不能正常完成时的警告
all,关于以上所有情况的警告
自定义注释
它类似于新创建一个接口类文件,但为了区分,我们需要将它声明为@interface,如:public @interface NewAnnotation {}............
注解常见的作用有以下几种:1.生成文档。这是最常见的,也是java 最早提供的注解,常用的有@param @return 等;
2.跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring 2.5 开始的基于注解配置,作用就是减少配置,现在的框架基本都使用了这种配置来减少配置文件的数量;
3.在编译时进行格式检查。如@Override放在方法前,如果你这个方法并不是覆盖了超类方法,则编译时就能检查出。
1、构造方法上加注解和普通方法加注解是一样的在构造方法定义前加 @注解类型就像行了。public class Car {
@Deprecated
public Car() {
}
}
2、java语义规定注解类不能定义构造方法。可以使用default 关键字规定默认值,规定了默认值在使用时就可以省略属性赋值。
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Documented
@Inherited
public @interface Auth {
/**
* 是否验证登陆 true=验证 ,false = 不验证
* @return
*/
public boolean verifyLogin() default true
/**
* 是否验证URL true=验证 ,false = 不验证
* @return
*/
public boolean verifyURL() default true
}