76 注解(一)——常用注解、自定义注解、注解的参数

注解

注解与注释都是用来说明程序的代码的作用。但与注释不同的时,注解可以被其他程序辨识,作为可操作的数据处理。

注解可以用在类、方法、包、作用域等。

一些常见的注解

@Override 在一个方法上面若写了@Override则说明这个方法是重写父类的方法,若此方方法在父类中不存在,则会报错。

@Deprecated 不赞成 这个注解将使得用户在使用被其注解的方法时,会看到该方法被画上删除线如:sleep()

@SuppressWarnning 压制警告。方法中常常会报黄色的警告,如不想出现这些警告,可以使用@SupressWarnning(参数)来取消这些警告。参数有如下几种:

自定义注解

新建注解:右键->new->Annotation,然后给新建的annotation起个名就好。

元注解

元注解是java提供的用来给注解做注解的注解。

  • @Target
  • @Retention
  • @Document
  • @Inherited

@Target

用于描述注解的使用范围

示例:

@Target(value=ElementType.TYPE)//别忘记写ElementType
public @interface MyAnnotation {//自定义的Annotation
	
}

 其中:FIELD通常表示类中的变量。

@Retention

译作:维持,保留。这个注解是用来声明注解的生命周期

它的参数有:

示例:@Retention(RetentionPolicy.SOURCE)

注解的参数

在注解中可以定义参数,参数类型可以是基础数据类型和String类型,以及基础数据类型和String类型的数组类型,参数名要跟上一对小括号(),在使用有参数的注解时,必须传入参数。

//自定义注解

public @interface TargetValueConStructor {
  int age();
  int num();
  String[] words();
}


//调用时
@TargetValueConStructor( age= 18,num=19,words= {"nihao","yes"})

  

参数的默认值

如SuppressWarnning()就必须传一个参数,参数类型也是固定的一些值。-1表示不存在。当参数存在默认值时,使用该注解可以无需写参数。

我们常用空字符串"",0和-1作为默认的参数值,

public @interface MyRetentionAnnotation {
	int age() default 0;
}

  

原文地址:https://www.cnblogs.com/Scorpicat/p/12133850.html