java jdk 自带注解基础用法

java注解


一、注解

概念

概念:说明程序的。给计算机看的
注释:⽤⽂字描述程序的。给程序员看的
定义:注解(Annotation),也叫元数据。⼀种代码级别的说明。它是JDK1.5及以后版本引⼊的⼀个特性,与类、接⼝、枚举是在同⼀个层次。它可以声明在包、类、字段、⽅法、局部变量、⽅法参数等的前⾯,⽤来对这些元素进⾏说明,注释。
使⽤注解:@注解名称

JDK中预定义的⼀些注解

  • @Override :检测被该注解标注的⽅法是否是继承⾃⽗类(接⼝)的
  • @Deprecated:该注解标注的内容,表示已过时
  • @SuppressWarnings:压制警告
  • ⼀般传递参数all @SuppressWarnings(“all”)

示例:

@SuppressWarnings("all")
public class AnnotationDemo1 {
@Override
public String toString() {
return super.toString();
}
@Deprecated
public void test(){
System.out.println("this is deprecated...");
}
public void test2(){
System.out.println("this is old....");
}
public static void main(String[] args) {
AnnotationDemo1 annotationDemo1 = new AnnotationDemo1();
annotationDemo1.test();
}
}

⾃定义注解

语法格式:

元注解
public @interface 注解名称{
属性列表;
}
  • 本质:注解本质上就是⼀个接⼝,该接⼝默认继承Annotation接⼝
  • public interface MyAnno extends java.lang.annotation.Annotation {}
  • 属性:接⼝中的抽象⽅法

元注解:⽤于描述注解的注解

@Target:描述注解能够作⽤的位置

  • ElementType 取值:
  • ElementType.TYPE 指定注解只能修饰类或者接⼝ --重点
  • ElementType.FIELD 指定注解只能修饰成员属性 --重点
  • ElementType.METHOD 指定注解只能修饰⽅法 --重点
  • ElementType.PARAMETER 指定注解只能修饰⽅法的参数
  • ElementType.CONSTRUCTOR 指定注解只能修饰构造⽅法
  • ElementType.LOCAL_VARIABLE 指定注解只能修饰局部变量
  • ElementType.TYPE_USE 指定注解能修饰所有的 --JDK1.8后拥有的

@Retention:描述注解被保留的阶段

  • RetentionPolicy.SOURCE 注解信息保留在源⽂件中
  • RetentionPolicy.CLASS 保留在class⽂件中
  • RetentionPolicy.RUNTIME 注解信息在运⾏时保留,搭配反射使⽤ --重点

示例:

import java.lang.annotation.*;
@Target({ElementType.TYPE,ElementType.METHOD,ElementType.FIELD})//标识注解作⽤的
位置
@Retention(RetentionPolicy.RUNTIME)//描述注解被保留的阶段
//当前被描述的注解,会保留到class字节码⽂件中,并被JVM读取到
public @interface MyAnno3 {
}
@MyAnno3
public class Worker {
private String name;
@MyAnno3
public void show(){
System.out.println("show.....");
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值