zoukankan      html  css  js  c++  java
  • java注解全面解析

    推荐阅读:

    一。全面解析Java注解

    1.为什么学习Java注解?学习Java注解有何好处?学完能做什么?
    (1)能·读懂别人写的代码,特别是框架相关的代码
    (2)让编程更加简洁,代码更加清晰
    (3)让别人高看一眼
    2.Java注解概念
    Java提供了一种源程序中的元素任何信息和任何元数据的途径和方法
    3.Java中的常见注解
    (1)JDK自带注解

    @Override
    

    首先创建一个Person接口,包含三个方法,如下:

    package com.example.demo;
    
    public interface Person {
        public String name();
        public int age();
        public int uid();
    }
    

    创建一个MyInfo类,并添加实现方法,添加实现方法的快捷键为Alt+Enter,如下图:

    package com.example.demo;
    
    public class My implements Person {
        @Override
        public String name() {
            return null;
        }
    
        @Override
        public int age() {
            return 0;
        }
    
        @Override
        public int uid() {
            return 0;
        }
    }
    
    

    在这里插入图片描述
    此时会发现自动在每个方法上面自动生成了@Override注解,该注解的作用是告诉编辑器该方法覆盖掉该类实现的接口中的方法

    @Deprecated
    

    当某个方法不再需要被使用时使用@Deprecated,代表该方法过时。之所以不删掉方法而使用注解的方式是避免以前某些地方使用该方法造成报错。使用过时了的方法,方法名上会有一条删除线,不会有错误提示但是会有警告。
    在这里插入图片描述
    如果非得使用过时的方法,可使用@Suppvisewarnings。

    @Suppvisewarnings
    

    @Suppvisewarnings使用方法如下:

    package com.example.demo;
    
    public class Test {
        @SuppressWarnings("depreaction")
        public void uid(){
            Person m=new MyInfo();
            m.uid();
        }
    }
    
    

    (2)常见第三方注解

    在这里插入图片描述
    Autowried:生成对应的实例
    4.注解分类
    在这里插入图片描述
    除了以上的注解外,还有一种特殊的注解,即元注解。元注解:注解的注解。
    5.自定义注解
    总结起来共6点要求:
    在这里插入图片描述
    对5的使用:当只有一个成员,成员名必须为value,则使用注解时,应按照一下格式:

    @注解名(对应成员的值)
    

    举例:

    @Description("happy")
    

    对6的使用:没有成员,则使用注解时,应按照一下格式:

    @注解名
    

    举例:

    @Description
    

    在这里插入图片描述
    在这里插入图片描述
    解析注解
    概念:通过反射获取类,函数或成员上的运行时注解信息,从而实现动态控制程序运行的逻辑。
    解析注解的步骤
    (1)使用类加载器加载类
    (2)找到类上面的注解
    (3)拿到注解实例
    (4)找到方法上的注解
    操作
    (1)创建自定义注解Desription
    (2)在com.ann.test路径下的Child类中使用(1)中的注解
    在这里插入图片描述
    (3)拿到注解实例
    在这里插入图片描述
    运行输出:I am class annotation
    (4)找到方法上的注解
    在这里插入图片描述
    在这里插入图片描述
    运行输出:I am method annotation

    注意:子类注解继承只能够作用于类,继承之后只会继承类上面的注解。
    举例:
    (1)Person类上有注解,类中的方法也有注解
    在这里插入图片描述
    (2)Child类继承自Person类
    在这里插入图片描述
    (3)使用上述的4步骤解析Child类中的注解,输出为:I am interface

  • 相关阅读:
    Linux(centos)如何安装Zend Optimizer Zend Guard Loader
    如何离线下载Chrome的安装包
    如何解决""No boot device available(无可用的引导设备)”错误
    mysql 存储及查询亿级数据
    mysql explain用法和结果的含义
    mysqldump参数详细说明(转)
    MP4文件格式的解析,以及MP4文件的分割算法
    Windows下搭建go语言开发环境 以及 开发IDE (附下载链接)
    mysql 命令备份还原数据库
    生成文件MD5
  • 原文地址:https://www.cnblogs.com/shirln/p/12290365.html
Copyright © 2011-2022 走看看