zoukankan      html  css  js  c++  java
  • java注解——内置注解和四种元注解

    java内置注解:

    @Override(重写方法):被用于标注方法,用于说明所标注的方法是重写父类的方法

    @Deprecated(过时方法):用于说明所标注元素,因存在安全问题或有更好选择而不鼓励使用,如果强行使用,则编译器会发出警告

    @SuppressWarnings(消除警告):用于取消编辑器所显示的警告,有如下属性值

    ——deprecation:使用已被@Deprecated标注的程序元素

    Date date = new Date();
    //消除警报
    @SuppressWarnings("deprecation")
    int hour = date.getHours();//该方法以被弃用
    System.out.println(hour);

    ——unused:程序含有未被使用的元素

    ——serial:在可序列化的类上缺少serialVersionUID定义

    自定义注解:

    注释属性默认没有默认值,在后面加default设置默认值

    public @interface Service {
        
        String value() default "";
        
        int version() default 0;
        
    }

    元注解:java提供了四个用于修饰自定义注解的元注解

    @Target:用于指定被修饰的自定义注解只能用于修饰程序中哪些元素,有四个常用属性

    @Retention:用于指定被修饰的自定义注解可以保留多久,有三个常用属性

    @Documented:执行javadoc命令时,被该元注解修饰的自定义注解也会生成在文档中

    @Inherited:如果父类所使用的注解有此修饰,则子类可以继承该注解,否则不能

    //TYPE用于类、接口或者枚举声明
    //FIELD用于全局属性
    //METHOD用于方法
    //PARAMETER用于方法的参数
    @Target({ElementType.TYPE,ElementType.FIELD})//数组时,一个值不用写{}
    
    //SOURCE源码
    //CLASS编译器
    //RUNTIME运行
    @Retention(RetentionPolicy.RUNTIME)
    
    //生成的文档是否含有此注释
    @Documented
    
    //子类会继承此类上的注释(不继承类里的)
    @Inherited
    public @interface Service {
        
        String value() default "";
        
        int version() default 0;
        
    }
  • 相关阅读:
    Python列表推导式,字典推导式,元组推导式
    python装饰器@,内嵌函数,闭包
    7-route命令
    6-mv命令
    5-ln链接命令
    4-linux建立用户用户组以及新用户的赋权
    3-gzip压缩解压命令
    2-date命令
    1-cp命令
    UIViewContentMode的各种效果
  • 原文地址:https://www.cnblogs.com/yimengxianzhi/p/12189917.html
Copyright © 2011-2022 走看看