java高级-注解
- 注解概念
- 注解分类
- Andriod support annotations
- 总结
1.注解概念
1.什么是注解
注解 提供了一种类似注释的机制,这些的注释和程序的逻辑没有关系的
Annotation(注解)就是java提供了一种元程序中的元素关联任何信息和任何元数据(metadata)的途径和方法
程序可以通过反射
基本的规则:Annotation不能影响程序代码的执行,无论增加、删除Annotation,代码都始终如一的执行
2.什么是metadata 元数据:
1.元数据以标签的形式存在于java代码中
2.元数据描述的信息时类型安全的
3.元数据需要编译器之外的工具额外的处理来生成其他的程序部件
4.元数据可以只存在于java源代码级别,也可以存在于编译之后的class文件内部
2.注解分类
图 图
1.系统内会标准注解
1.Override 标记型的注解类型
2.Deprecated 代码过时了
3.SuppressWarnnings 警告
2.元注解
1.@Target 注解所修饰的类型范围
@Targe(ElementType.Type)-->描述类,接口,
@Rentention(RetentionPolicy.RUNTIME)
@Documented
public @interface Table{
//数据表名称注解,默认值为类名称
public String tableName() default "className";
}
@Target(ElementType.FIELD)
@interface NoDBColumn{}
2.@Retention
注解保留的时间长短
3.@Documented
4.@Inherited 也是标记注解,表明被修饰类可以被继承
3.Andriod support annotations 。 19 sdk之后
1.Nullness注解
图
@Nullable
public void setName(@NonNull User user)
2.@ResouceTye
void sayHell(@StringRes int id);
3.Threading 注解
4.Overriding Methods 注解:@CallSuper
@WorkThread
@UiThread
4.总结
注解时如何被处理的?
编译时有个插件
Annotation
网友评论