1.注解与注释java
2.注解的组成部分数组
3.基本注解ide
4.自定义注解spa
注释:用于在源代码中解释代码的功用,能够加强程序的可读性,可维护性,或者用于在源代码中处理不需运行的代码段,来调试程序的功能执行。调试
注解: 对于包、类、属性、方法辅助说明做用, 注解的添加不会影响java程序的执行,java中注解是可以被计算机编译的,能参与到程序的运行中。code
它们的区别显而易见,注释只是解释说明,不算作源代码,注解则算做源代码。blog
注解由一下部分组成继承
1.修饰符 ----- public 默认(不写就是默认)接口
2.@interface ------ 用来声明注解的生命周期
3.参数类型 ----- 8种基本数据类型 String Class 以及他们的数组 枚举
4.默认值 ---- default 无关紧要
1.常见注解
一、@Override 表示子类重写父类的方法
二、@Deprecated 表示已过期
三、@SuppressWarnings 消除警告
四、@FunctionalInterface java8新特性,保证一个
接口中只能声明一个方法
2.元注解
元注解也是一种注解,它是用来辅助说明注解的
一、@Target
用来讲明注解的使用范围
ElementType 枚举类中有说明
TYPE:声明能够用在类、接口、注解上
Field:用在属性上
METHOD:用在方法上
CONSTRUCTOR:用在构造方法上
二、@Retention
用来讲明注解的生命周期
RetentionPolicy.
SOURCE: 注解只保留在源代码中
CLASS:注解保留在CLASS文件中,JVM加载类后
就被丢弃掉
RUNTIME:保留至程序运行时,这个时候能够经过反射
获取注解信息
三、@Documented 经过javadoc生成API文档时可用到
四、@Inherited :子类对父类的注解继承
package com.demo.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.TYPE,ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Inherited public @interface MyAnnotation { public String name() default "HYS"; int age(); Sex sex(); String[] hobby(); boolean isJavaDev() default true; }