JAVA注解的使用与自定义注解

本文深入解析Java注解的使用,包括常用注解如@ SuppressWarnings、@ Override、@ Deprecated,自定义注解的创建及属性设定,以及元注解的作用与应用场景。了解注解如何增强代码的可读性和维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 常用注解

@SuppressWarnings("all")	//压制所有警告
@Override		//是否重写方法
@Deprecated		//方法已过时

二. 自定义注解

public @Intface 注解名称{	属性列表		}
注解本质是默认继承了Annotation接口(反编译可见javap)
属性:接口中的抽象方法
	1. 属性返回值
		a. 基本数据类型
		b. String
		c. 枚举
		d. 注解
		e. 以上类型的数组
	2. 使用注解时要给属性赋值
		a. 定义注解时,可以使用default关键字给属性默认值
		b. 如果只有一个属性需要复制,且属性名是value,则可以省略
		c. 数组赋值时,使用{}包裹,如果只有一个值,则可以省略{}
例:
	定义注解
		public @Intface A{	String[] str()	;int age() default 18;	}
	使用注解
		@A(str={"a","b"})
		public class B{}

三. 元注解

@Target({ElementType=TYPE})			描述能够作用的位置
			ElementType取值范围:
					TYPE:作用于类上
					METHOD:可以作用于方法上
					FIELD:可以作用于成员方法上
	@Retention(RetentionPolicy.RUNTIME)		描述注解被保留的阶段
			RetentionPolicy取值范围:
					RUNTIME:注解会保留到class字节码文件中,并被jvm读取到
					CLASS:注解会保留到class字节码文件中,但不会被jvm读取到
					SOURCE:注解不会保留到class文件中
	@Documented	描述注解是否被抽取到Api文档中(javadoc)
	@Inherited		描述注解是否可以被子类继承
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值