Fork me on GitHub

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

posted @ 2020-02-10 11:51  爱上游戏开发  阅读(196)  评论(0编辑  收藏  举报
 >>>转载请注明出处