注解

1、注解(annotation)

注解是从JDK5.0开始引入的。

  1. 注解(annontation)的作用
    • 不是程序本身,可以对程序作出解释,对程序有检查和约束的功能
    • 可以被其他程序读取(比如:编译器等)
  2. 注解(annontation)和注释(comment)的区别
    • 注解:给程序员看的,编译器可以识别,具有一定的功能
    • 注释:给程序员看,编译器无法识别
  3. 注解(annontation)的格式
    • 注解的格式:@注释名
    • 有的可以添加一些参数值,比如:@SuppressWarnings(value="unchecked")
  4. 注解(annontation)的使用
    • 注解可以附加在:packge、class、method、field等上面

2、内置注解

  1. @Override:定义在java.lang.Override中,此注释只能用于修饰方法,表示的是这个方法重写于父类中的方法
    在这里插入图片描述
  2. @Deprecated:定义在java.lang.Deprecated中,此注释可以用于修饰方法、属性、类,表示不鼓励程序员使用这样的元素,通常是因为它很危险或者存在更好的选择(但是可以使用)
    在这里插入图片描述
  3. @SuppressWarnings:定义在java.lang.SuppressWarnings中,用来镇压警告信息。这个注释需要添加一个参数才能使用,这些参数是已经定义好的,我们可以选择性使用。
    • @SuppressWarnings(“all”)
    • @SuppressWarnings(“unchecked”)
    • @SuppressWarnings(value={“unchecked”,“deprecation”})
    • 等等……
      在这里插入图片描述
      在这里插入图片描述

3、元注解

  1. 元注解的作用:
    负责注解其他注解。java定义了四个标准的meta-annontation类型,用来对annontation类型进行说明。
  2. 在java.lang.annontation包中可以查找到这四个元注解
    • @Target:用于描述注解的使用范围。
    • @Retention:表示需要在什么级别保存该注释信息,用于描述注解的生命周期。(源代码SOURCE<CLASS<运行RUNTIME
    • @Document:说明注解将被包含在javadoc中
    • @Inherited:说明子类可以继承父类中的注解

4、自定义注解

  • 使用@interface自定义注解时,自动继承了java.lang.annontation.Annontation接口
    自定义注解的分析:
    • @interface用来声明一个注解,格式:
public @interface 注解名{
    定义内容
}
  • 其中的每一个方法实际上是声明了一个配置参数
  • 方法的名称就是参数的名称
  • 返回值类型就是参数的类型(返回值只能是基本类型,Class,String,enum)
  • 可以通过default来声明参数的默认值
  • 如果只有一个参数成员,一般参数名为value
  • 注解元素必须要有值,我们定义注解元素时,经常使用空字符串,0作为默认值
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@MyAnnontation(name ="小明")
public class Test2 {
    @MyAnnontation(name ="小明")
    public static void main(String[] args) {
    }
}
@Target({ElementType.TYPE,ElementType.METHOD})//元注解:表明该注解的使用范围
@Retention(RetentionPolicy.RUNTIME)//元注解:描述注解的使用周期
@interface MyAnnontation{
    String name();   //参数名称    格式:参数类型   参数名();
    int age() default 0;   //default 声明参数的默认值,
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值