首页 > 其他分享 >注解

注解

时间:2022-10-15 21:55:05浏览次数:47  
标签:SuppressWarnings class --- 用于 注解 public

java.lang.annotation包中有一个Annotation的接口,它是所有注解类型扩展的公共接口

@Override   

@Override 注解是用来指定方法重写的,只能修饰方法并且只能用于方法重写,不能修饰其它的元素。

它可以强制一个子类必须重写父类方法或者实现接口的方法。

@Override
public String toString(){
        return super.toString();
}

 

@Deprecated(不推荐使用)

 @Deprecated 可以用来注解类、接口、成员方法和成员变量等,用于表示某个元素(类、方法等)已过时。

当其他程序使用已过时的元素时,编译器将会给出警告。

@Deprecated
public static void test(){
   System.out.println("aa");
}

public static void main(String[] args){
       test();
}

 

 

@SuppressWarnings

@SuppressWarnings 注解指示被该注解修饰的程序元素(以及该程序元素中的所有子元素)取消显示指定的编译器警告,且会一直作用于该程序元素的所有子元素。

注解的使用有以下三种:

  1. 抑制单类型的警告:@SuppressWarnings("unchecked")
  2. 抑制多类型的警告:@SuppressWarnings("unchecked","rawtypes")
  3. 抑制所有类型的警告:@SuppressWarnings("unchecked")
  4. 抑制所有警告:@SuppressWarnings("all")

 

元注解(负责注解其他注解)

@Target ---用于描述注解的使用范围(被描述的注解可以用在什么地方)---@Target({ ElementType.METHOD })

CONSTRUCTOR 用于构造方法
FIELD 用于成员变量(包括枚举常量)
LOCAL_VARIABLE 用于局部变量
METHOD 用于方法
PACKAGE 用于包
PARAMETER 用于类型参数(JDK 1.8新增)
TYPE 用于类、接口(包括注解类型)或 enum 声明

 

@Retention ---表示需要在什么级别保存该注释信息,用于描述注解的生命周期(该注解被保留的时间长短)

  1. SOURCE:在源文件中有效(即源文件保留)
  2. CLASS:在 class 文件中有效(即 class 保留)
  3. RUNTIME:在运行时有效(即运行时保留)

生命周期大小排序为 SOURCE < CLASS < RUNTIME,前者能使用的地方后者一定也能使用。

 

@Document ---说明该注解将被包含在javadoc中(修饰的注解类会被 JavaDoc 工具提取成文档)

@Inherited ---说明子类可以继承父类中的注解

@Repeatable ---是否可重复注解

  • RetentionPolicy.SOURCE : 仅存在于源代码中,编译阶段会被丢弃,不会包含于class字节码文件中。
  • RetentionPolicy.CLASS : 默认策略,在class字节码文件中存在,在类加载的时被丢弃,运行时无法获取到。
  • RetentionPolicy.RUNTIME : 始终不会丢弃,可以使用反射获得该注解的信息。自定义的注解最常用的使用方式。

 

自定义注解

自定义注解和创建一个接口相似,自定义注解的格式是以@interface为标志的

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
 @interface SPI {
   //注解的参数:注解类型——参数名();
String name() default ""; //default是设置默认值为空
int age();
}
public class test03(){
//驻俄界可以显示赋值,如果没有默认值,就必须给注解赋值
@SPI(name="aa",age=11)
public void test(){}
}

 

标签:SuppressWarnings,class,---,用于,注解,public
From: https://www.cnblogs.com/xinyu-yudian/p/16795155.html

相关文章

  • Java注解(2):实现自己的ORM
    搞过Java的码农都知道,在J2EE开发中一个(确切地说,应该是一类)很重要的框架,那就是ORM(ObjectRelationalMapping,对象关系映射)。它把Java中的类和数据库中的表关联起来,可以像操......
  • 自定义Token校验注解 #4
    自定义Token校验注解#4感觉挺厉害的自定义Token校验的注解,给不是很懂AOP的我上了一课。代码实例TokenValidate注解/***@authorcynic*@Description:token......
  • SpringBoot中Server层以及Mapper层常用注解
    4.Service层注解@Service注解一般写在业务层的接口实现类上,而不是接口上。4.1@Service@Service:@Service注解用于类上,标记当前类是一个service类,加上该注解会将当......
  • 最全的Spring注解详解
    @Configuration:配置类==配置文件,告诉Spring这是一个配置类@ComponentScan(value="com.atguigu",excludeFilters={@Filter(type=FilterType.ANNOTATION,classe......
  • spring注解笔记
    1122017102311220171023注意要点:配置Bean时刻注意IoC容器中Bean的数量以及类型,做到心中有底。[是自动装配还是主动配置要明确,不要重复注入]1、注解定义Bean1)、@Com......
  • Java注解(1):码农的小秘
    很多码农在写代码的时候不太爱写注释,结果任务一多,时间一长,需求一改,就完全不知道当初自己都干了些啥了。好在现在大多数编程语言都有注释功能,能够在代码里面做一些备注,不至......
  • 注解_自定义注解_属性定义与注解_自定义注解_元注解
    注解_自定义注解_属性定义注解格式:public@interface注解名称{属性列表}属性:接口中的抽象方法要求:1.属性的返回值类型有下列取值......
  • springboot/spring使用ConfigurationProperties注解读取自定义属性(尚硅谷)
    pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xs......
  • 自定义注解
    1.注解介绍1.注解是一种元数据(任何文件系统中的数据分为数据和元数据。数据是指普通文件中实际数据,而元数据只用来描述一个文件特征的系统数据,例如访问权限等)形式,即......
  • Java微服务常用注解
    SpringBoot常用注解Configuration和AutoConfiguration 介绍两者的异同,加载方式,需要注意的点等。@Configuration 先于AutoConfiguration加载  切面......