大数据必学Java基础(八十五):自定义注解

举报
Lansonli 发表于 2022/11/12 10:12:48 2022/11/12
【摘要】 ​自定义注解自定义注解使用很少,一般情况下都是用现成的注解。一、如何自定义注解;;发现定义的注解的声明使用的关键字:@interface,跟接口没有一点关系。二、注解的内部以@SuppressWarnings为例,发现内部:;这value是属性还是方法?答案:看上去是无参数方法,实际上理解为一个成员变量,一个属性无参数方法名字--》成员变量的名字无参数方法的返回值--》成员变量的类型这个参数...

​自定义注解

自定义注解使用很少,一般情况下都是用现成的注解。

一、如何自定义注解

;
;

发现定义的注解的声明使用的关键字:@interface,跟接口没有一点关系。

二、注解的内部

以@SuppressWarnings为例,发现内部:

;

这value是属性还是方法?

答案:看上去是无参数方法,实际上理解为一个成员变量,一个属性

无参数方法名字--》成员变量的名字

无参数方法的返回值--》成员变量的类型

这个参数叫 配置参数

无参数方法的类型:基本数据类型(八种),String,枚举,注解类型,还可以是以上类型对应的数组。

注意:如果只有一个成员变量的话,名字尽量叫value。

三、使用注解

1、使用注解的话,如果你定义了配置参数,就必须给配置参数进行赋值操作:

@MyAnnotation(value={"abc","def","hij"})
public class Person {
}


2、如果只有一个参数,并且这个参数的名字为value的话,那么value=可以省略不写。

@MyAnnotation({"abc","def","hij"})
public class Person {
}


3、如果你给配置参数设置默认的值了,那么使用的时候可以无需传值:

public @interface MyAnnotation2 {
    String value() default "abc";
}


使用:

@MyAnnotation2
@MyAnnotation({"abc","def","hij"})
public class Person {
}


4、一个注解的内部是可以不定义配置参数的:

public @interface MyAnnotation3 {
}


内部没有定义配置参数的注解 --》 可以叫做标记

;

内部定义配置参数的注解 --》 元数据

;

5、注解的使用

现在只学习注解的大致技能点,具体怎么应用 后面慢慢学习。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。