注解总结(内置注解,元注解,自定义注解)

什么是注解

在这里插入图片描述

//什么是注解
//所有的类默认继承Object
public class Test01 extends Object {
    //@Override 这就是重写的注解
    @Override
    public String toString() {
        return super.toString();
    }
}

内置注解

在这里插入图片描述

@Deprecated

//    Deprecated 废弃的,已经过时的,不推荐使用,或许存在更好的方法
    @Deprecated
    public static void test(){
        System.out.println("Deprecated");
    }

@SuppressWarnings

//   镇压警告   平时不建议使用镇压警告,警告可以帮助我们查看程序的错误
    @SuppressWarnings("all")
   public void test2(){
       List list = new ArrayList();
   }

元注解

在这里插入图片描述

Target 可以表示注解用在什么地方,注解的范围

​ ElementType.METHOD在方法上使用

​ ElementType.TYPE 在类上使用

Retention 表示我们的注解在什么地方还有效

​ RetentionPolicy.RUNTIME 运行时

​ RetentionPolicy.CLASS 类中

​ RetentionPolicy.SOURCE 源码中

​ RUNTIME>CLASS>SOURCE

//测试元注解
public class Test02 {
    @Myannotation
    public void test(){

    }
}
//Target 可以表示注解用在什么地方
//ElementType.METHOD在方法上使用
//ElementType.TYPE 在类上使用
@Target(value = {ElementType.METHOD,ElementType.TYPE})
//Retention 表示我们的注解在什么地方还有效
//RetentionPolicy.RUNTIME  运行时
//RetentionPolicy.CLASS    类中
//RetentionPolicy.SOURCE   源码中
//RUNTIME>CLASS>SOURCE
@Retention(value = RetentionPolicy.SOURCE)
//Documented 表示是否将我们的注解生产在JAVADoc中
@Documented
//Inherited 子类可以继承父类的注解
@Inherited
//定义一个注解
@interface Myannotation {
}

自定义注解

在这里插入图片描述

//自定义注解
public class Test03 {
    @Myannotation2(name = "tom")
    public void test(){
    }
    @Myannotation3("")//只有一个值,用value定义,这里可以省略
    public void test3(){

    }
}
//注解的范围
@Target({ElementType.TYPE,ElementType.METHOD})
//运行时有效
@Retention(RetentionPolicy.RUNTIME)
@interface Myannotation2{
//    注解的参数:参数类型+参数名()
    String name();//这不是方法
    int age() default 0;//默认值
    int id() default -1;//如果为-1,表示找不到
    String [] arr() default {"清华大学","信息工程学院"};
}

@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface Myannotation3{
    String value();
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值