什么是注解?有什么作用?

什么是注解?

注解是程序的一部分,是给某个注解标注的类或者方法一种特定行为的描述。
如:

@Override 限定方法必须是重写的方法
@Deprecated 标记一个已经过时的方法
@SuppressWarnings(“rawtypes”) 忽略警告

元注解:

用在注解中的注解‘’
如:

@Target 用来定义注解的使用范围
ElementType.ANNOTATION_TYPE 用在注解中
PACKAGE 用在包中
TYPE 用在类型上
CONSTRUCTOR 用在构造方法上
FIELD 用在属性上
METHOD 用在方法上

@Retention 用来定义注解的存在时间
RetentionPolicy.SOURCE 注解只存在于源代码中,编译成class的时候会丢弃注解
RetentionPolicy.CLASS 注解存在于class文件中,在加载到JVM中的时候会丢弃注解
RetentionPolicy.RUNTIME 注解在程序运行中依然存在

@Documented 注解文档化

@@Inherited 是否能被子类自动继承
注解的定义:

public @interface MyAnnotation {
   
 }

注解的基本使用:

1:定义一个注解,通过参数给属性赋值:

定义MyAnnotation注解:

/**
 * 自定义一个注解
 * 注解 MyAnnotation
 */
@Target({
   ElementType.METHOD,ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface MyAnnotation {
   
    String value();
}

在MyAnnotation注解中就用到了四种元注解。
然后再创建一个Teacher类:

public class Teacher {
   

    @MyAnnotation("TOM")
    private String name;

    @Override
    public String toString() {
   
        return "Teacher{" +
                "name='" + name + '\'' +
                '}';
    }
}

在注解当中输入参数来给Teacher类中的name赋值。

还需要一个Annotationutil类来通过反射的方式将注解中的值设置给属性,

import java.lang.reflect.Field;

public 
  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值