java 注解学习笔记
来源:互联网 发布:abbyy finereader mac 编辑:程序博客网 时间:2024/06/06 06:36
1. @Override——指示被标记的方法必须去重写超类中的某个方法,如果不重写,编译器将会给出错误
(可以注释掉@Override 然后看一下运行结果)
2. @Deprecated——当我们希望编译器知道某一方法不建议使用时,我们应该使用这个注解。Java在javadoc 中推荐使用该注解,我们应
3. @SuppressWarnings——这个仅仅是告诉编译器忽略特定的警告信息,谨慎使用该注解,可以防止编译器输出过多臃肿的信息
1. @Documented —— 指明拥有这个注解的元素可以被javadoc此类的工具文档化。这种类型应该用于注解那些影响客户使用带注释的元
素声明的类型。如果一种声明使用Documented进行注解,这种类型的注解被作为被标注的程序成员的公共API。
2. @Target——指明该类型的注解可以注解的程序元素的范围。该元注解的取值可以为TYPE,METHOD,CONSTRUCTOR,FIELD等。如果Target
元注解没有出现,那么定义的注解可以应用于程序的任何元素。
@Target(ElementType.METHOD)
@interface Task{
String description
}
public class CustomAnnection{
@Task(description="Assign ID",estimatedHours=0,additionalNote="The IDs are available from IRS")
private int taxID;
@WorkInProgress
@Task(description="Implement tax computations",estimateHours=50,additionalNote="This implementation is critical for the final launch")
public static float ComputeTax(float amount,float rate){
return 0;
}
}
编译这段代码就会报错,支出不能把注解类型应用到这种声明中,因为其中定义了taxID 字段。
将Task 的注解应用到ComputeTax方法是可以的
3. @Inherited——指明该注解类型被自动继承。如果用户在当前类中查询这个元注解类型并且当前类的声明中不包含这个元注解类型,
那么也将自动查询当前类的父类是否存在Inherited元注解,这个动作将被重复执行知道这个标注类型被找到,或者是查询到顶层的父类。
4.@Retention——用于设置注解的可见性。RetentionPolicy取值为SOURCE,CLASS,RUNTIME。
@Retention(RetentionPolicy.RUNTIME)
RetentionPolicy枚举定义了3个常量:SOURCE. CLASS.RUNTIME
(可以注释掉@Override 然后看一下运行结果)
public class Test { public static void main(String[] args) { Cat cat =new Cat(); cat.saySomething(); }}class Animal{ void saySomething(){ System.out.println("Animal talking"); }}class Cat extends Animal{ @Override void saySomething(){ System.out.println("meow...."); }}
2. @Deprecated——当我们希望编译器知道某一方法不建议使用时,我们应该使用这个注解。Java在javadoc 中推荐使用该注解,我们应
该提供为什么该方法不推荐使用以及替代的方法。
class Tset{
@Deprecated
public void doSomething(){}
public void doNewSomething(){}
}
编译器警告doSomething()方法已经被废弃。为了在类中标记处不希望开发人员在将来的代码中不再使用任何的方法,同时保证已有的代码不出现问题,
就需要使用以上的注解。
3. @SuppressWarnings——这个仅仅是告诉编译器忽略特定的警告信息,谨慎使用该注解,可以防止编译器输出过多臃肿的信息
这里有四种类型的元注解:
1. @Documented —— 指明拥有这个注解的元素可以被javadoc此类的工具文档化。这种类型应该用于注解那些影响客户使用带注释的元
素声明的类型。如果一种声明使用Documented进行注解,这种类型的注解被作为被标注的程序成员的公共API。
2. @Target——指明该类型的注解可以注解的程序元素的范围。该元注解的取值可以为TYPE,METHOD,CONSTRUCTOR,FIELD等。如果Target
元注解没有出现,那么定义的注解可以应用于程序的任何元素。
@Target(ElementType.METHOD)
@interface Task{
String description
}
public class CustomAnnection{
@Task(description="Assign ID",estimatedHours=0,additionalNote="The IDs are available from IRS")
private int taxID;
@WorkInProgress
@Task(description="Implement tax computations",estimateHours=50,additionalNote="This implementation is critical for the final launch")
public static float ComputeTax(float amount,float rate){
return 0;
}
}
编译这段代码就会报错,支出不能把注解类型应用到这种声明中,因为其中定义了taxID 字段。
将Task 的注解应用到ComputeTax方法是可以的
3. @Inherited——指明该注解类型被自动继承。如果用户在当前类中查询这个元注解类型并且当前类的声明中不包含这个元注解类型,
那么也将自动查询当前类的父类是否存在Inherited元注解,这个动作将被重复执行知道这个标注类型被找到,或者是查询到顶层的父类。
4.@Retention——用于设置注解的可见性。RetentionPolicy取值为SOURCE,CLASS,RUNTIME。
@Retention(RetentionPolicy.RUNTIME)
RetentionPolicy枚举定义了3个常量:SOURCE. CLASS.RUNTIME
阅读全文
0 0
- Java 注解学习笔记
- Java 注解学习笔记
- java注解学习笔记
- java注解学习笔记
- java注解学习笔记
- java 注解学习笔记
- 【转】Java 注解学习笔记
- 慕课网 Java注解 学习笔记
- java学习笔记 元注解
- Java基础 注解 学习笔记
- Java学习笔记之注解
- Java注解学习笔记——自定义注解
- java学习笔记(annotation 注解_1)
- 黑马程序员-java学习笔记-注解
- 【黑马程序员】 学习笔记 - Java新技术 - 注解
- Java学习笔记十(注解)
- Java学习笔记 线程,注解(注释)...
- Java张孝祥视频 学习笔记 注解
- CB Insights 发布亚太创业版图:滴滴是最受资本青睐的科技公司
- 和苹果抢头条!微信深夜宣布图文支持插入其他公号文章链接
- E
- Pwnable.kr---input
- 最简单的windows 程序
- java 注解学习笔记
- Mybatis-No constructor found
- sklearn特征工程
- LeetCode——Two Sum
- eclipse脱离终端独立运行
- 工信部放大招:将统一安卓消息推送标准,约束流氓APP
- 面试中的那些 Git 问题
- the progress bar
- 苹果A10X芯片随新款iPad Pro现身,4核变6核,性能逆天