Java语法基础: Annotation注解 (总)

本文详细介绍了Java中的注解,包括@Override、@Deprecated和@SuppressWarnings这三个基础注解,以及如何自定义注解和元注解的使用,如@Retention、@Target、@Documented和@Inherited,探讨了注解在代码中的作用和重要性。
摘要由CSDN通过智能技术生成

注解的相关概念:
注解出现的版本:jdk1.5
Annotation(注解):其实代码中的特殊标记,可以在编译、类加载、运行被读取,并通过相应的处理。通过使用Annotation,程序可与在不改变原有逻辑的情况下,在源文件嵌入一些补充信息。代码分析工具、开发工具、和部署工具可以通过这培训补充信息进行验证或者部署。

常用的框架Spring就是在使用到了上面的原理,通过注解@Controller、@Service和@RequestMapping等注解处来在编译、类加载、运行时通过反射对使用了注解的类或者方法进行相应的处理,实现对应的功能,这样就可以在不改变原有逻辑的情况下,在源文件嵌入一些补充信息和拓展一些功能。

注解的作用:用于为程序元素(类、方法、属性等)设置元数据。

1、jdk提供三个基础注解

基本的Annotation:
Java提供的基本的Annotation:

  • @Override
  • @Deprecated
  • @SuppressWarnings

1.1限定重写父类方法:@Override

限定重写父类方法:@Override
用于指定方法覆盖的,可以强制一个子类必须要覆盖父类的方法。
例如:我们经常覆盖的toString()方法

@Override注解的定义:
在这里插入图片描述

从上面定义的**@Override的来看,该注解用来指定方法重写的,可以强制一个子类必须覆盖父类**的方法。在方法上适用 @Override Annotation的作用是告诉编译器检查该方法,如果父类或者接口中没有这个方法就会报错。可以避免我们在写的时候发生错误。

// 子类
public class SubClass extends SuperClass {
   
	// 这里标注了该方法是重写父类的info方法
	// 如果不小心写错成了inf0,加上@Override注解,就会在编写阶段报错
	@Override
	public void info(){
   
		System.out.println("SubClass");
	}
}
// 父类
class SuperClass{
   
	public void info(){
   
		System.out.println("SuperClass");
	}
}

在IDE工具中,如果使用了@Override注解,而父类没有该方法,则会报错,可以避免在覆盖父类方法的时候出现一些错误。

在这里插入图片描述

1.2、标示已经过时:@Deprecated

用于表示某个类(某个方法)已经过时,当使用这些过时的类或者方法的时候,IDE编辑器就会发出警告
@Deprecated 的定义
在这里插入图片描述
用于表示某个程序元素(类、方法等)已过时,但其他程序使用已过时的类、方法的时候,编译器会发出警告。

public class AnnotationTest{
   

    public static void main(String[] args) {
   
        AnnotationTest test = new AnnotationTest();
        test.deprecatedMethod();
    }

    @Deprecated   // 使用 @Deprecated 来标注该方法已经过时间了
    public void deprecatedMethod(){
   
        System.out.println("我已经过时了");
    }
}

上面的编写代码的时候,编译器会发出警告,但是该方法还是可以正常执行的
在这里插入图片描述

注意:@Deprecated Annotation的作用于文档注释中的**@deprecated** 标记的作用基本一样,但用法不同,前者是jdk1.5之后才出现的注解,是直接用于接口方法等上面的。

1.3、抑制编译器警告:@SupperssWarnings

指示被改注解标识的程序元素(以及在该程序中所有子元素)取消指定的编译器警告。

用于取消显示指定的编译器警告

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值