博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
猿来绘Java-43-初步认识注解
阅读量:2094 次
发布时间:2019-04-29

本文共 1741 字,大约阅读时间需要 5 分钟。

JDK5.0开始增加了注解,是对MetaData的支持

Annotation 其实就是代码里的特殊标记, 这些标记可以在编译、类加载、运行时被读取, 并执行相应的处理。通过使用 Annotation, 程序员可以在不改变原有逻辑的情况下, 在源文件中嵌入一些补充信息。 代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。 x各大框架中主要是通过反射读取注解

注解可用于修饰包,类, 构造器, 方法, 成员变量, 参数, 局部变量的声明, 这些信息被保存在 Annotation的 “name=value” 对中。

文档相关的注解

@author 标明开发该类模块的作者, 多个作者之间使用,分割

@version 标明该类模块的版本

@see 参考转向, 也就是相关主题

@since 从哪个版本开始增加的

@param 对方法中某参数的说明, 如果没有参数就不能写

@return 对方法返回值的说明, 如果方法的返回值类型是void就不能写

@exception 对方法可能抛出的异常进行说明 , 如果方法没有用throws显式抛出的异常就不能写

其中

@param @return 和 @exception 这三个标记都是只用于方法的。

@param的格式要求: @param 形参名 形参类型 形参说明

@return 的格式要求: @return 返回值类型 返回值说明

@exception的格式要求: @exception 异常类型 异常说明

@param和@exception可以并列多个

JDK内置的三个基本注解

@Override: 限定重写父类方法, 该注解只能用于方法,用于校验所写的方法是否重写了父类的方法。

@Deprecated: 用于表示所修饰的元素(类, 方法等)已过时。通常是因为所修饰的结构危险或存在更好的选择

@SuppressWarnings: 抑制编译器警告

代码示例

//AnnotationTest.javapackage com.ylaihui.annotations;class Order{    String name;    public Order() {    }    public Order(String name) {        this.name = name;    }    public void show(){        System.out.println("Order show()...");    }}class YlaihuiOrder extends Order{    //@Override    public void shows() {        System.out.println("YlaihuiOrder show()...");    }}public class AnnotationTest {    public static void main(String[] args) {        YlaihuiOrder ylaihuiOrder = new YlaihuiOrder();        // 本意是想在 YlaihuiOrder 类中重写 Order 类中的 show方法,但是show写为shows了        // 如果没有使用注解,那么不会报错,也不会有任何提示,容易犯错        // 有了注解以后, 在shows方法前提供 @Override, 那么会强制检查方法是否真正的重写了父类中的方法        ylaihuiOrder.show();  // Order show()...    }}

// Deprecated 已过时的Date date = new Date(2020, 10, 11);System.out.println(date);@SuppressWarnings("unused")int num = 10;@SuppressWarnings({ "unused", "rawtypes" })ArrayList list = new ArrayList();

转载地址:http://zxuhf.baihongyu.com/

你可能感兴趣的文章
java中的关键字
查看>>
如果某个方法是静态的,它的行为就不具有多态性
查看>>
优化Hibernate所鼓励的7大措施
查看>>
Java 8系列之重新认识HashMap
查看>>
HashMap 、 ArrayList、String 重写了equals方法 而Object类(比如User)没有重写
查看>>
Servlet的生命周期
查看>>
Object中的getClass()返回的是当前运行的类
查看>>
加载驱动程序的方法
查看>>
深入理解java异常处理机制
查看>>
object类的基本方法
查看>>
回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议
查看>>
Dubbo分布式服务框架入门(附工程)
查看>>
两年Java开发工作经验面试总结
查看>>
作为Java面试官--谈谈一年来的面试总结
查看>>
两年Java程序员面试经
查看>>
面试心得与总结---BAT、网易、蘑菇街
查看>>
如何面试有2年java工作经验的应聘人员
查看>>
Java实现简单的递归操作
查看>>
Java实现简单的递归操作
查看>>
Struts2工作原理和执行流程图
查看>>