java 注解 Annotation、元注解
程序员文章站
2024-01-18 22:10:22
...
作用 :
注解可以对类中的结构(属性,方法,构造器等)进行补充说明,同时不改变原有的结构
常用的三个解注:
-
@Override
: 限定重写父类方法, 该注解只能用于方法 -
@Deprecated
: 用于表示所修饰的元素(类, 方法等)已过时。通常是因为所修饰的结构危险或存在更好的选择 -
@SuppressWarnings
: 抑制编译器警告
自定义注解
格式 :
@interface 注解名{
}
示例:
public @interface MyAnnotation {
}
元注解:
注解的注解(作用在注解上面的注解)
-
@Retention
: 用来说明该注解所作用在的注解的生命周期。- SOURCE: 被编译所抛弃,不使用了。
- CLASS: 编译期间 - 运行期间 (在运行期间该注解就已经死亡了)
- RUNTIME: 运行期间 -(在整个运行期间该注解都是存活的)
-
@Target
:用来说明该注解所作用在的注解,可以使用在的结构有哪些
—下面的知道即可— -
@Documented
: 用来说明该注解所作用在的注解,是否可以被javadoc所解析 -
@Inherited
: 用来说明该注解所作用在的注解,是否可以被子类所继承
通过反射获取注解上的信息
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface MyAnn3{
}
//注解
@interface MyAnn{
}
@interface MyAnn2{
//default后面跟默认值。
String name() default "aaa";//可以理解成属性
}
@MyAnn2(name = "小龙哥")
@MyAnn
public class AnnotationTest {
@MyAnn2
@MyAnn
@Deprecated
private String name;
private int age;
@MyAnn
@Deprecated
public void info(){
}
@MyAnn3
public void show(){
}
@MyAnn
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
return super.equals(obj);
}
public static void main(String[] args) {
// new AnnotationTest().info();
@SuppressWarnings("unused")
int age = 10;
System.out.println("ccc");
}
}
下一篇: Java 使用系统打印流
推荐阅读
-
Spring的注解配置与XML配置之间的比较 博客分类: Java javabeanspringiocdi
-
Spring 简单案例(依赖注入)_01 博客分类: Java Spring springjavaiocspring4.2.5spring4注解
-
IDEA设置类注解和方法注解(详解) 博客分类: Java
-
IDEA设置类注解和方法注解(详解) 博客分类: Java
-
Spring 事务注解 博客分类: Java Spring
-
Spring 事务注解 博客分类: Java Spring
-
Java学习笔记-全栈-web开发-14-Spring入门&AOP编程&Spring注解开发&Spring事务
-
【总结篇】Java注解总结
-
Java反射及注解
-
java注解学习体会,并自己实现一个注解