栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaSE——注解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaSE——注解

文章目录

是什么声明一个注解注解的注解

有效期@Retention可放置的地点@Target可继承@Inherited可重复@Repeatable 注解的属性

必填的可选的属性赋值 小案例

是什么

一个东西的特征。

声明一个注解
public @interface ABC{
}
注解的注解

这个注解的特征

有效期@Retention

RetentionPolicy.SOURCE,编译前就丢RetentionPolicy.CLASS,编译完了再丢RetentionPolicy.RUNTIME,不丢 可放置的地点@Target

ElementType.ANNOTATION_TYPE,注解ElementType.CONSTRUCTOR,构造方法ElementType.FIELD,成员ElementType.LOCAL_VARIABLE,局部变量ElementType.METHOD,方法ElementType.PACKAGE,包ElementType.PARAMETER,方法参数ElementType.TYPE,类型(类,接口,枚举等等) 可继承@Inherited

父类有注解,子类继承,也会有注解。

可重复@Repeatable

一个东西有多个同一类的特征。比如身兼多职。

注解的属性

注解作为一个对象,也会有其属性。

必填的
String value();
可选的
String value() default "";
属性赋值

给属性赋值

@XXX(name='xxx',value='xxx')

单独一个value可以简写

@XXX('xxx')
小案例

创建一个代表数据库表的注解@MyTable
有效期:不丢,RUNTIME
地点:类上,TYPE
不继承,不重复。

属性:value,表名,必填。

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface MyTable {
	String value();
}

在一个实体类上使用它

@MyTable("student")
public class Student {

}

在测试类中访问

@Test
public void fun1() {
	MyTable tableInfo = Student.class.getAnnotation(MyTable.class);
	String tableName = tableInfo.value();
	System.out.println(tableName);
}

输出结果:

student
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/723242.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号