zoukankan      html  css  js  c++  java
  • 注解

    • 注解
      • 特殊注释,给编译器和jvm读取,让编译器为我们做检查
      • 属性,修饰符,可以修饰方法,类,属性,等,具体的看注解的修饰范围限定
      • 内置注解
        • @Override 告诉编译器做检测,它所修饰的方法是否满足方法覆盖的条件,标记性注解
        • @deprecated 提醒使用者,它修饰的目标将要被删除,在这里不建议使用(过时了),可以修饰类,属性,构造器,方法,形参,局部变量,标记性注解
        • @SuppressWarnings({"unused", "null"}),抑制警告,需要传参表明那种类型的警告
      • 自定义注解
        • @interface MyAnnotation{}
        • @interface MyAnnotation{ public String name(); public age();}属性
        • @interface MyAnnotation{public String name(); default "某名字"}
        • 可以写注解的注解(原注解)
        • Target(),原注解,规定注解使用范围,即注解的注解
          1. TYPE 可以修饰类
          2. FIELD 可以修饰属性
          3. METHOD 可以修饰方法
          4. CONSTRUCTOR 可以修饰构造器
        • Retention() 作用是约束注解的停留期
          • SOURCE 只能停留在源码中,生成class中没有
          • CLASS 可以停留在class文件,但运行时不能反射
          • RetentionPolicy.RUNTIME,可以停留在运行时并运行处理
    //自定义注解举例
    //自定义注解,没有规定其使用范围,没有规定其声明周期
    @interface HelloAnnotation{
    	
    }
    
    @HelloAnnotation
    public class Student {
    	@HelloAnnotation
    	private String name;
    	@HelloAnnotation
    	public Student(String name) {
    		//@HelloAnnotation
    		super();
    		//@HelloAnnotation
    		this.name = name;
    	}
    	@HelloAnnotation
    	public void hello() {
    		//@HelloAnnotation
    		System.out.println("hello!");
    	}
    }
    
  • 相关阅读:
    bzoj 4260 Codechef REBXOR——trie树
    bzoj 2238 Mst——树链剖分
    bzoj 2836 魔法树——树链剖分
    CF 888E Maximum Subsequence——折半搜索
    bzoj 4289 PA2012 Tax——构图
    bzoj 4398 福慧双修——二进制分组
    bzoj1116 [POI2008]CLO——并查集找环
    bzoj4241 历史研究——分块
    bzoj4373 算术天才⑨与等差数列——线段树+set
    bzoj4034 [HAOI2015]树上操作——树链剖分
  • 原文地址:https://www.cnblogs.com/refengqingfu/p/9978677.html
Copyright © 2011-2022 走看看