成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

詳解Java進階知識注解

瀏覽:71日期:2022-08-14 14:48:54
一、注解的概念1、注解官方解釋

注解

叫元數據,一種代碼級別的說明,它是JDK1.5及以后版本引入的一個特性,與類、接口、枚舉在同一個層次,它可以聲明在包、類、字段、局部變量、方法參數等的前面,用來對這些元素進行說明、注釋。

注解的作用分類

編寫文檔:通過代碼里表示的元數據生成文檔【生成doc文檔】 代碼分析:通過代碼里表示的元數據進行分析【使用反射】 編譯檢查:通過代碼里表示的元數據讓編譯器能夠實現基本的編譯檢查【Override】

注解按照運行機制分類

源碼注解:注解只在源碼中存在,編譯成.class文件之后就不存在了 編譯時注解:注解在源碼存在的基礎上,也會在.class文件中存在,但是在運行階段中就不存在了,例如:@Override 運行時注解:注解在運行階段依然存在,且能夠影響程序的運行過程,例如:@Autowired2、注解與注釋的區別

(1)注解:用于描述代碼,說明程序,主要目的是為了給計算機看,且能夠影響程序的運行。

(2)注釋:用于描述代碼的作用和一些關鍵性的知識點,使用文字描述程序,是為了給程序員觀看,以此來使程序員能夠以最快的時間了解被注釋的代碼。

二、內置注解與元注解1、常用的內置注解 @Override:檢測該注解標記的方法是否繼承自父類; @Deprecated:說明被標記的內容已過時,暗示著在不久之后可能會被更新抹除; @SuppressWarnings:壓制警告,就是被標記的部分不會產生警告,常用的參數:@SuppressWarnings(“all”); @SafeVarargs:參數安全類型注解,它的目的就是提醒開發者不要用參數做一些不安全的操作,它的存在會阻止編譯器產生unchecked這樣的警告;2、常用的元注解

元注解:用于描述注解的注解,在創建注解時使用

1. @Target屬性值:

ElementType.TYPE:能修飾類、接口或枚舉類型 ElementType.METHOD:能修飾方法 ElementType.FIELD: 能修飾成員變量 ElementType.PARAMETER:能修飾參數 ElementType.CONSTRUCTOR:能夠修飾構造器 ElementType.ANNOTATION_TYPE:能夠修飾注解 ElementType.PACKAGE:能夠修飾包 ElementType.LOCAL_VARIABLE:能夠修飾局部變量

2.@Retention屬性值:

RetentionPolicy.SOURCE:注解只在源碼中存在,編譯成class之后就沒了 RetentionPolicy.CLASS:注解在源碼和class中都存在,運行時就沒了,這個是Retention的默認值 RetentionPolicy.RUNTIME: 注解在源碼、class、運行時都存在,如果要使用反射一定要定義為這種類型

3.@Documented:該注解的作用就是表示此注解標記的注解可以包含到javadoc文件中去4.@Inherited:描述注解是否能夠被子類所繼承

三、自定義注解1、自定義注解基礎知識

1.格式:

@Inherited//元注解public @interface zhujie{}

2.注解本質:注解的本質上就是一個接口,該接口默認繼承Annotation

public interface MyAnno extends java.lang.annotation.Annotion

3.屬性:接口中可以定義的內容(成員方法、抽象方法)

屬性的返回值:

八種基本數據類型 字符串類、接口、枚舉 注解 以上類型的數組

屬性賦值注意事項

如果定義屬性時,使用default關鍵字給屬性默認初始化值,則使用注解時,就可以不進行屬性的賦值,否則都必須給屬性賦值 如果只有一個屬性需要賦值的話,并且屬性的名稱是value,則使用注解給屬性賦值時,value可以省略,直接定義值就可以了 數組賦值時,值需要使用{}包裹,如果數組中只有一個值,則{}可以省略不寫2、演示自定義注解的使用

自定義注解annotation

@Retention(value = RetentionPolicy.RUNTIME)@Target(value = ElementType.TYPE)public @interface annotation { String name() default '木魚'; int age(); int[] score();}

使用以上注解的類TestAnnotation

//name具有默認值,不需要必須為name賦值,但也可以重新賦值@annotation(age=20,score={99,100,100})public class TestAnnotation { public static void main(String[] args) throws ClassNotFoundException {Class clazz = Class.forName('test.TestAnnotation');annotation annotation = (annotation) clazz.getAnnotation(annotation.class);System.out.println('姓名:'+annotation.name()+' 年齡:'+annotation.age());System.out.print('成績為:');int[] score=annotation.score();for (int score1:score){ System.out.print(score1+' ');} }}

運行結果

詳解Java進階知識注解

3、演示注解在程序中的作用

兩個方法:

類對象調用 isAnnotationPresent(Class<? extends Annotation> annotationClass)判斷是否應用了某個注解 通過getAnnotation()方法獲取Annotation對象,或者getAnnotations()方法獲取所有應用在該類上的注解

1.創建自定義注解

@Retention(value = RetentionPolicy.RUNTIME)@Target(value = ElementType.FIELD)public @interface StringNull {}

2.創建實體類

public class Student { @StringNull public String name=null; @StringNull public String xuehao=null; @StringNull public String sex=null; public void setName(String name) {this.name = name; } public void setXuehao(String xuehao) {this.xuehao = xuehao; } public void setSex(String sex) {this.sex = sex; }}

3.創建測試類,測試注解

public class TestAnnotation { public static void main(String[] args) throws Exception{Class clazz = Class.forName('test.Student');Student student =(Student) clazz.newInstance();student.setName('小明');Field[] fields= clazz.getFields();for(Field f:fields){ if(f.isAnnotationPresent(StringNull.class)){if(f.get(student)==null){ System.out.println(f.getName()+':是空的字符串屬性');}else{ System.out.println(f.getName()+':'+f.get(student));} }} }}

4.運行結果

詳解Java進階知識注解

以上就是詳解Java進階知識注解的詳細內容,更多關于Java注解的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲午夜电影在线| 欧美亚洲三区| 日韩午夜小视频| 精品国产区一区| 裸体一区二区三区| 国产不卡视频一区二区三区| 高清不卡在线观看| 国产模特精品视频久久久久| 欧美日韩国产在线观看| 欧美国产日产图区| 精品国产凹凸成av人网站| 日韩欧美中文字幕精品| 欧美二区视频| 日韩视频三区| 亚洲欧美中日韩| 欧美久久综合| 欧美不卡一区二区三区四区| 国产精品人成在线观看免费 | 国产成人h网站| 日韩欧美国产麻豆| 91色|porny| 国产精品另类一区| 亚洲午夜一区| 亚洲免费观看高清完整版在线| 夜夜爽av福利精品导航 | 2022国产精品视频| 丰满岳乱妇一区二区三区| 日韩精品中文字幕在线一区| 91免费观看视频在线| 国产精品电影一区二区三区| 亚洲麻豆av| 五月婷婷激情综合| 欧美三区在线观看| 国产剧情av麻豆香蕉精品| 精品久久久久久久久久久院品网| 99久久婷婷国产| 欧美国产日韩一二三区| 夜久久久久久| 免费高清不卡av| 欧美一级欧美三级| 91美女片黄在线观看| 欧美激情中文不卡| 亚洲欧洲三级| 欧美bbbbb| 欧美电影免费观看完整版| 91免费在线播放| 综合中文字幕亚洲| 免费亚洲电影| 国产成都精品91一区二区三| 国产三级欧美三级日产三级99| 亚洲精品九九| 免费的成人av| 久久婷婷一区二区三区| 亚洲电影av| 免费成人你懂的| 久久久久亚洲蜜桃| 国产欧美日韩综合一区在线观看 | 欧美一区影院| 一区二区三区在线视频观看58| 色噜噜狠狠成人中文综合| 国产不卡一区视频| 国产精品色一区二区三区| 香蕉av777xxx色综合一区| 久久精品国产久精国产爱| 日韩欧美中文一区| 亚洲高清资源综合久久精品| 久久国产精品99久久久久久老狼 | 免费日本视频一区| 精品少妇一区二区三区在线视频 | 欧美一二区视频| 欧美日韩在线播放一区二区| 亚洲h精品动漫在线观看| 91麻豆精品国产91久久久资源速度 | 久久激五月天综合精品| 欧美mv日韩mv亚洲| 国产精品一区二区在线观看| 国产成人av网站| 亚洲精品乱码久久久久久久久 | 国产精品久久福利| 欧美性色黄大片| 欧美视频日韩| 老司机午夜精品| 国产午夜三级一区二区三| 久久精品盗摄| 成人免费毛片高清视频| 亚洲欧美另类图片小说| 欧美人xxxx| 亚洲美女毛片| 成人av网址在线| 亚洲国产欧美另类丝袜| 2020国产成人综合网| 六月天综合网| 欧美二区在线| 精品一区二区三区在线视频| 亚洲欧洲性图库| 69久久夜色精品国产69蝌蚪网| 亚洲精品无人区| 成人av电影在线网| 亚洲成av人片在www色猫咪| 精品欧美乱码久久久久久| 99视频精品| 成人黄色av网站在线| 午夜欧美视频在线观看| 久久久久97国产精华液好用吗| 色婷婷精品大在线视频| 好吊日精品视频| 国产精品一区二区91| 亚洲综合激情网| 久久精品日韩一区二区三区| 欧美视频一区二区在线观看| 一区二区三区免费看| www.日韩精品| 九九精品视频在线看| 亚洲一二三区视频在线观看| 久久婷婷成人综合色| 在线一区二区三区四区五区 | 久久黄色小说| 国语自产精品视频在线看抢先版结局 | 午夜久久久久久久久久一区二区| 久久久亚洲精品石原莉奈| 欧美在线观看视频一区二区三区| 极品av少妇一区二区| 成人黄动漫网站免费app| 石原莉奈在线亚洲三区| 亚洲婷婷综合色高清在线| 久久综合久久99| 91精品国产综合久久久蜜臀图片| 另类国产ts人妖高潮视频| 伊人狠狠色j香婷婷综合| 99久久久久久| 国产成人免费视频一区| 麻豆一区二区三区| 五月天网站亚洲| 樱花影视一区二区| 综合自拍亚洲综合图不卡区| 久久久久久久久99精品| 欧美一级日韩免费不卡| 欧美系列一区二区| 亚洲综合视频一区| 亚洲高清av| 欧美午夜精品| 欧美黄色精品| 99re66热这里只有精品3直播| 国产成人综合精品三级| 九九久久精品视频| 蜜臀99久久精品久久久久久软件| 亚洲韩国精品一区| 亚洲乱码精品一二三四区日韩在线| 国产精品资源在线观看| 欧美一区二区三区四区高清| 亚洲免费av高清| 日本一区二区动态图| 日韩美女天天操| 久久久久久久电影| 欧美在线观看视频一区二区三区| 亚久久调教视频| 99亚洲一区二区| 伊人久久婷婷| 狠狠噜噜久久| 欧美三级第一页| 欧美日韩一区二区国产| 午夜欧美理论片| 欧美国产日本| 欧美日韩一卡| 欧美日韩国产高清| 国产精品videosex极品| 欧美婷婷久久| 伊人成人在线视频| 精品成人一区| 一区视频在线| 亚洲日韩视频| 中文精品视频一区二区在线观看| 亚洲日本无吗高清不卡| 99亚洲一区二区| 亚洲一区bb| 日韩精品资源二区在线| 久久一区二区视频| 国产欧美精品一区| 专区另类欧美日韩| 亚洲黄色片在线观看| 亚洲国产精品久久不卡毛片 | 欧美丝袜自拍制服另类| 国产69精品久久久久777| 亚洲精品国产无天堂网2021| 国产精品久久久久三级| 欧美一区二区三区免费观看视频| 99久久精品国产一区| 国产精品久久久久久久久久免费看 | 综合在线观看色| 亚洲精品国产第一综合99久久| 亚洲精品国产视频| 亚洲电影第三页| 麻豆91在线播放免费| 国产一区二区三区综合| 国产成人精品免费在线| 99精品热视频| 亚洲成色最大综合在线| 国产精品久久亚洲7777| 日本乱人伦aⅴ精品| 欧美少妇bbb|