大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java類注釋自定義,并加以運用

Java類注釋自定義,并加以運用

更新時間:2020-06-10 15:59:40 來源:動力節點 瀏覽1991次

在Java框架中,經常會使用注解,而且還可以省很多事,來了解下自定義注解。

注解是一種能被添加到java代碼中的元數據,類、方法、變量、參數和包都可以用注解來修飾。注解對于它所修飾的代碼并沒有直接的影響

先寫一個自己的注解類

Documented//會被javadoc命令識別
Retention(RetentionPolicy.RUNTIME)//相當于作用時期,比如:運行期、編譯期
Target({ElementType.METHOD})//相當于作用域,比如方法、類
public interface MyValue{
String value();
//也可以這么寫,就是說,它的默認值是hello
//String value()default"hello";
}

然后解析上邊用到的那兩個類:

public enum RetentionPolicy{
SOURCE,
CLASS,
RUNTIME
}

public enum ElementType{
/**Class,interface(including annotation type),or enum declaration*/
TYPE,
FIELD,
METHOD,
PARAMETER,
CONSTRUCTOR,
LOCAL_VARIABLE,
ANNOTATION_TYPE,
PACKAGE
}

可以看到,是兩個枚舉類,也就是我們自定義的注解有一定的時間和空間作用域。

好了,我們的自定義注解已經完成了(對的,自定義注解就上邊那一段代碼),那我們就來看看要怎么有用呢?很容易啊,就和其他的注解一樣,寫在我們要用到的地方就好了。(對的,我確定不是在開玩笑)

public class Person{
MyValue(value="張三")
private String name;
/*

為什么要寫setter和getter,很快你就會知道

*
public String getName(){
return name;
}

public void setName(String name){
this.name=name;
}
}

然后我們在其他地方去拿

Person person=new Person();
System.out.println(person.getName());//null

//這就很難受,按道理來說,不是應該是張三嗎?

大家都知道,像Spring這種框架都是通過反射來實現的,我們就模擬一個“編譯類”,我們是在屬性上用的注解,所以就先用反射來拿到類的所有屬性

public static void main(String[]args)throws NoSuchFieldException{
Person person=new Person();

//按理來說,我們是拿到這個Person.class的所有的屬性,然后遍歷,來挨個注入,但是這里我們明明確我們的屬性名,所以就簡單化了

Field field=Person.class.getDeclaredField("name");
MyValue annotation=field.getAnnotation(MyValue.class);//拿到注解類
String name=annotation.value();//這個value()就是我們在MyValue類中的的屬性
//然后我們就注入到這個類中,這時就用到了setter方法
person.setName(name);
System.out.println("通過自定義注解后的person的name是:"+person.getName());
}

是的,這樣我們就通過了自定義注解給Person注入了一個name屬性,但是在實際運用中不可能這么復雜,這只是入門了一下,我們可以將這個“模擬的編譯類”組裝成一個工具類,以便我們在實際中運用。

Java類注釋自定義,并加以運用

以上就是動力節點java培訓機構的小編針對“Java類注釋自定義,并加以運用”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久精品国产免费 | 奇米第四色视频 | 国产精品久久久久久一级毛片 | 久久99久久精品国产99热 | 国产精品麻豆视频 | 精品福利一区二区三区免费视频 | 中国一级特黄 | 久久亚洲精中文字幕冲田杏梨 | a看片| 欧美αv在线| 中文精品久久久久国产网站 | 96精彩视频在线观看 | 男人边吃奶边爱边做视频日韩 | 九九精品国产兔费观看久久 | 亚洲日本va中文字幕 | 亚洲一区二区三区免费视频 | 亚洲一区二区三区中文字幕 | 国产精品不卡在线 | 夜夜做夜夜爽 | 国产欧美精品 | 97免费观看 | 99精品久久久久久 | 天天操夜夜操狠狠操 | 韩国一大片a毛片 | 久久精品道一区二区三区 | 在线观看不卡视频 | 亚洲精品视频免费 | 国产精品久久久久久久久免费观看 | 99久久综合久中文字幕 | 亚洲一区免费看 | 久久国产精品成人免费 | 成人欧美一区二区三区黑人免费 | 久久久青草青青国产亚洲免观 | 久久经典免费视频 | 亚洲视频国产精品 | 成年性午夜免费视频网站不卡 | 久久免费视频在线 | 日本叼嘿 | 亚洲码在线 | 欧美性生交xxxxx丝袜 | 免费爱爱小视频 |