一、java的注解和注释的区别
1、java注释
(1)单行注释 //
(2)多行注释 /* */
(3)文档注释
public class Demo{
public static void main(String args[]){
// 单行注释
/*
*多行休息
*/
/**
*文档注释
*/
}
}
作用:是对代码说明
注意:注释知识文字说明,不参与编译,也没有运行能力
2、Java的注解
作用:对一种代码的说明,每种注解都有自己的用法和其自身的独特的含义
注解是java代码,参与编译,有运行能力
public calss Demo1(){
//对String中的方法 toString进行重写
@Override
public String toString(){
}
public static void main(String args[]){
}
}
(1)构建注解的方法及其关键字
//ElementTyp枚举类型,说明注解的是什么类型,如METHOD 说明的是注释的是方法
/*
*@interface override 定义一个注解,叫override
*@ElementType.METHOD override注解只能用在方法
*@ RetentionPolicy.SOURCE overrdie注解只在源代码是起作用
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override{
}
ElementType枚举类
用来描述java代码由哪些"元素类型"组成
元素类型:
ElementType.PACKAGE 包
ElementType.TYPE 类
ElementType.FIELD 域(属性)
ElementType.CONSTRUCTOR 构造
ElementType.METHOD 方法
ElementType.LOCAL_VARIABLE 局部变量
ElementType.PARAMETER 参数
ElementType. ElementType 注解
注意:
通过元素类型,我们在定义一个注解时,可以明确的指出注解将作用在代码的 什么元素上。如:是作用在属性上,还是作用在方法上。
RetentionPolicy枚举
作用:控制注解起作用的生命周期
生命周期的元素:
RetentionPolicy.SOURCE: 源代码中起作用。(编辑)
RetentionPolicy.CLASS: 源代码,字节码中起作用。(编译)
RetentionPolicy.RUNTIME: 源代码,字节码,运行时起作用。(运行)
(2)java的四大元注解(2有参注解和2无参注解)
元注解: 注解中的注解, java最最基础的4个注解,一切的注解都是从他们上面演变而来的
@Document:
无参注解,决定自定义的注解是否包含在javadoc中。
@Retention():
有参注解,决定自定义的注解生命周期(持续到什么时候)
@Target():
有参注解,决定自定义的注解的作用对象。
@Inherited:
无参注解,决定自定义的注解是否可被子类继承。
自己创建一个注解:
待续……………………