註解

註解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); }}
相關文章
相關標籤/搜索