JAVA注释的简单例子

注释方法

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


//元注解(添加元注解后isAnnotationPresent能判断ZSTest是可用的(表面))
//javac编译器编译
//                   source  retetionPolicy   runtime
//注解的3个阶段  元文件  ---  类文件   --- 内存中的字节码  (保存的几个时间点)
//设置保留的阶段
@Retention(RetentionPolicy.RUNTIME)
//设置放在哪
@Target({ElementType.TYPE,ElementType.METHOD})
public @interface ZSFather {
 public String sysout();
 public String aac();
 //不能重载
// public String sysout(String str1,String str2);
 //注释类不能无返回值
 //public void sysout2();
 //为什么不可用
// public HashMap rtnMap();
// public List rtnMap();
}

 

子类调用父类

@ZSFather(aac = "", sysout = "")
public class ZSTest {
 //Override 重写的关键词
 public String sysout(){
  return null;
 }
 
 public static void main(String[] args) {
  System.out.println(ZSTest.class.isAnnotationPresent(ZSFather.class));
  if(ZSTest.class.isAnnotationPresent(ZSFather.class)){
   //利用反射机制接受zsFather,getAnnotation获取注释信息
   ZSFather zsFather = (ZSFather) ZSFather.class.getAnnotation(ZSFather.class);
  }
 }
}

现在需要渐渐理解注释的意义,今天又做了一些测试找了些文档,@interface的注释与interface并不一样,其更像是定义一个属性,而且定义这些方法的返回值是8个基本数据类型与String类型与其他们的数组类型。

你可能感兴趣的:(java,注释,例子,讲解)