註解java
分類 --jdk提供的五個註解,經常使用的@Overrideide
--元註解五個,經常使用的是@Target / @Retention工具
--一般配合元註解完成自定義註解測試
@Targetspa
--用來指定 註解能夠出現的位置生命週期
--好比出如今: 類上,方法上,成員變量上,局部變量上...get
--值被維護在了工具類 ElementType.classio
@Retention class
--用來指定 註解的生命週期import
--好比: .java文件中 .class文件中 runtime時
--值被維護在了工具類 RetentionPolicy.class
自定義註解
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
//測試 註解
public class Test4 {
}
//第一步,@interface定義註解 -- 語法和java不太同樣
//1,@Target--描述註解能夠出現的位置--ElementType
//2,@Retention--描述註解的生命週期--RetentionPolicy
//@Target( ElementType.FIELD } )//FIELD表示能夠出如今成員變量上
@Target({ ElementType.FIELD , ElementType.METHOD })//能夠 同時出如今 多個位置上
@Retention(RetentionPolicy.SOURCE)//SOURCE表示能夠在.java文件中存在
@interface Controller{
//3,給註解添加功能--屬性
// String name() default ""; //4,給屬性設置默認值
String name();//5,屬性沒有默認值, 就要求使用時必須賦值了...
}
//第二步,使用註解 @Controller
//@Controller//1, 報錯,出如今了錯誤的位置
class Hello{
@Controller(name="name屬性要用")//6,給name屬性賦值 String name; @Controller(name="show()") public void show(int a){ System.out.println(a); }}