zoukankan      html  css  js  c++  java
  • 1、JDK自带注解

    1.何为注解?

      概念:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。

             如下所示,我们在编程中经常遇到的@Override等等都是注解。

    2.注解的分类

    2.1 按照运行机制  (往后会讲)
    源码注解:
           注解只在源码中存在,编译成.class文件就不存在了。
    编译时注解:
           注解在源码和.class文件中都存在。(例如:JDK的三个注解)
    运行时注解:
          在运行阶段还起作用,甚至会影响运行逻辑的注解。
    2.2 按照来源分
                   来自JDK的注解:上面图片的三个@Override  @Deprecated  @SuppressWarning,接下来会介绍
                   来自第三方的注解:比如Spring框架、Mybatis框架的注解等等,以后再说吧
                   我们自己定义的注解:往后会详细地讲
     

    3.JDK自带注解

    @Override 表示当前方法覆盖了父类的方法
    @Deprecation 表示方法已经过时,方法上有横线,使用时会有警告。
    @SuppviseWarnings 表示关闭一些警告信息(通知java编译器忽略特定的编译警告)
     
    直接上代码讲解吧,定义一个接口Animal:
     
    然后定义一个Bird类实现该接口,此时提示需要实现Animal接口的方法:
     
    点击Add unimplemented methods后会自定实现接口方法,此时方法上方出现@Override注解,这是一个标识注解,表示当前方法覆盖了父类的方法。
     
    我们可以再创建一个AngryBird类继承Bird,覆盖父类的run()方法:
     
    最后编写一个Test类测试一下,出现警告:run()方法已经过时。为什么呢?因为我在定义Animal接口时,在run()方法上添加了注解@Deprecation,表示方法已经过时,方法上有横线,使用时会有警告。
     
    当然我们忽略警告,直接运行也是可以的,但如果有强迫症的同学呢,可以增加@SuppressWarnings来去掉警告:
     
    好,最后运行结果为:
  • 相关阅读:
    JVisualVM简介与内存泄漏实战分析
    高并发性能提升和超卖的解决方案
    ehcache应用场景及集群同步(RMI)
    一台机器配置多个tomcat的实践经验
    事务范围数据库读写分离失败
    基于spring的数据库读写分离
    Zookeeper linux下使用
    Zookeeper集群
    Dubbo入门实例(二)
    Zookeeper安装与启动
  • 原文地址:https://www.cnblogs.com/jtlgb/p/8579496.html
Copyright © 2011-2022 走看看