服务器租用网站模板,推广链接怎么制作,中国建筑装饰网家居频道,张家港英文网站制作java 10. 注解 文章目录 10.1 什么是注解10.2 内置的注解10.2.1 Override 10.3 自定义注解10.4 元注解 10.1 什么是注解
注解#xff0c;一种元数据形式#xff0c;提供有关程序的数据#xff0c;该数据不属于程序本身。注释对其注释的代码的操作没有直接影响。
注解的语…java 10. 注解 文章目录 10.1 什么是注解10.2 内置的注解10.2.1 Override 10.3 自定义注解10.4 元注解 10.1 什么是注解
注解一种元数据形式提供有关程序的数据该数据不属于程序本身。注释对其注释的代码的操作没有直接影响。
注解的语法
注解类型名注释有多种用途其中包括
编译前为编译器提供编译检查的依据辅助检查代码错误或抑制检查异常。编译中或发布时给编译器提供信息生成代码或给其他工具提供信息生成文档等。运行时在运行过程中提供信息给解释器辅助程序执行。 注解经常和反射结合起来用多用于框架中。
10.2 内置的注解
10.2.1 Override 加在方法前 表示重写覆盖父类的方法 如果重写覆盖有错误则报错。 因此重写父类方法请加上Override注解。 class Parent {String name;public Parent(){}public Parent(String name){this.name name;}public void sayHello(){System.out.println(你好我是 name )}
}public class Child extends Parent
{String name;public Child{}Overridepublic void sayHello(String str){//这里会报错super.sayHello();System.out.println(Hello,im Datawhale);}
}/**
本段代码则不会提示错误public class Child extends Parent
{String name;public Child{}Overridepublic void sayHello(){super.sayHello();System.out.println(Hello,im Datawhale);}
}
**/10.3 自定义注解
日常开发中我们使用class、interface比较多而注解和它们一样也是一种类的类型他是用的修饰符为 interface 元注解
使用interface自定义注解时自动继承了java.lang.annotation.Annotation接口语法如下
public interface MyTestAnnotation {注解属性 [default 默认值]
}
10.4 元注解
元注解负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型它们被用来提供对其它 annotation类型作说明。 Target, Retention, Documented, Inherited
Target说明了Annotation所修饰的对象范围Annotation可被用于 packages、types类、接口、枚举、Annotation类型、类型成员方法、构造方法、成员变量、枚举值、方法参数和本地变量如循环变量、catch参数。 取值(ElementType)有 1.CONSTRUCTOR:用于描述构造器 2.FIELD:用于描述域 3.LOCAL_VARIABLE:用于描述局部变量 4.METHOD:用于描述方法 5.PACKAGE:用于描述包 6.PARAMETER:用于描述参数 7.TYPE:用于描述类、接口(包括注解类型) 或enum声明
Target(ElementType.TYPE)
public interface Table {}Target(ElementType.FIELD)
public interface NoDBColumn {}Retention定义了该Annotation被保留的时间长短某些Annotation仅出现在源代码中而被编译器丢弃而另一些却被编译在class文件中编译在class文件中的Annotation可能会被虚拟机忽略而另一些在class被装载时将被读取请注意并不影响class的执行因为Annotation与class在使用上是被分离的。