zoukankan      html  css  js  c++  java
  • 廖雪峰Java4反射与泛型-2注解-1使用注解

    1.Annotation定义

    注解是放在Java源码的类、方法、字段、参数前的一种标签。如下

    package com.reflection;
    
    import org.apache.logging.log4j.core.tools.picocli.CommandLine;
    
    import javax.annotation.PostConstruct;
    import javax.annotation.Resource;
    @Resource("Main")//带参数的注解
    public class Main{
        @Inject
        int n;
    
        @PostConstruct
        public void hello(@Param  String name){
            System.out.println(name);
        }
    
        @Override
        public String toString(){
            return "hello";
        }
    }
    

    2.注解的作用:

    • 注解本身对代码逻辑没有任何影响
    • 如何使用注解由工具(如编译器)决定。写了注解,编译器会帮我们检查问题。否则不会检查。

    3.使用注意事项

    3.1编译器可以使用的注解:

    • @Override: 让编译器检查该方法是否正确的实现了覆写
    • @Deprecated: 告诉编译器该方法已经被标记作废,在其他地方引用将会出现变异警告。
    • @SuppressWarnings: 如果方法内部出现了编译警告,就忽略这些警告。

    3.2注解可以定义配置参数:

    • 配置参数有注解类型定义
    • 配置参数可以包括:
      * 所有基本类型
      * String
      * 枚举类型
      * 数组(基本类型、String、枚举类型的数组)
    public class Main{
        int n = 100;
        @Test(timeout=100)
        public void test(){
            System.out.println("test");
        }
    }
    
    • 配置参数必须是常量
      * 缺少某个配置参数将使用默认值
      * 如果只写常量,相当于省略了value参数
      * 如果只写注释,相当于全部使用默认值
    package com.reflection;
    
    public class Main{
        @Check(min=0,max=100,value=55)
        public int n;
    
        @Check(value=99)//缺少某个配置参数将使用默认值
        public int p;
    
        @Check(99)//如果参数名称是value,可以省略参数名称
        public int x;
    
        @Check//如果只写注释,相当于全部使用默认值
        public int y;
    }
    

    4.总结

    • 注解是Java语言用于工具处理的标注
    • 注解可以配置参数,没有指定配置的参数使用默认值
    • 如果参数名称是value,可以省略参数名称
  • 相关阅读:
    Linux定时任务编写
    Linux编辑器的选择使用
    nginx配置中文域名解析
    Linux中统计某个文件夹的大小
    nginx配置文件的说明
    获取自身ip
    Python之时间模块、random模块、json与pickle模块
    python之os模块详解
    日志模块logging介绍
    Python面向过程、模块的使用
  • 原文地址:https://www.cnblogs.com/csj2018/p/10403100.html
Copyright © 2011-2022 走看看