java注解全面解析

推荐阅读:

  •  我的CSDN
  •  我的博客园
  •  QQ群:704621321
  •  我的个人博客

一。全面解析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;
    }
}

java注解全面解析_第1张图片
此时会发现自动在每个方法上面自动生成了@Override注解,该注解的作用是告诉编辑器该方法覆盖掉该类实现的接口中的方法

@Deprecated

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

@Suppvisewarnings

@Suppvisewarnings使用方法如下:

package com.example.demo;

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

(2)常见第三方注解

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

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

举例:

@Description("happy")

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

@注解名

举例:

@Description

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

注意:子类注解继承只能够作用于类,继承之后只会继承类上面的注解。
举例:
(1)Person类上有注解,类中的方法也有注解
java注解全面解析_第12张图片
(2)Child类继承自Person类
java注解全面解析_第13张图片
(3)使用上述的4步骤解析Child类中的注解,输出为:I am interface

你可能感兴趣的:(java注解全面解析)