-
4.成員類型受限制,合法的類型包括原始數(shù)據(jù)類型 和String(常用),Class,Annotation,Enumeration; 5.如果注解只有一個(gè)成員,則該成員名必須為value(), 在使用時(shí)可忽略成員名和賦值號(hào)(=); 6.注解類可以沒用成員,此時(shí)該注解被稱為“標(biāo)識(shí)注解”;
查看全部 -
@interface注解: 1.表示定義的是一個(gè)注解(不是類,也不是接口); 2.成員要以無參無異常的方式聲明; 3.可以用default為成員指定一個(gè)默認(rèn)值;
查看全部 -
注解查看全部
-
子類注解繼承只能夠作用于類,繼承之后只會(huì)繼承類上面的注解。
查看全部 -
注解要求:::
查看全部 -
獲取注解的方法? getAnnotation();
類上添加@Table("")注解,方法上添加@Column("")注解
查看全部 -
項(xiàng)目需求
需求1:有一張用戶表,字段包括用戶ID,用戶名,呢稱,年齡,性別,所在城市,郵箱,手機(jī)號(hào)。
需求2:方便對(duì)每個(gè)字段或字段的組合條件進(jìn)行檢索,并打印出SQL。
需求3:使用方式要足夠簡(jiǎn)單,見代碼示例。
查看全部 -
解析注解概念:通過反射獲取類、函數(shù)或成員上的運(yùn)行時(shí)注解信息,從而實(shí)現(xiàn)動(dòng)態(tài)控制程序運(yùn)行的邏輯。
步驟1:使用類加載器加載類
Class c=Class.forName("com.ann.test.Child");
步驟2:找到類上面的注解
isAnnotationPresent(類類型):Class對(duì)象的方法,判斷當(dāng)前類類型是否存在某個(gè)類類型的注解,返回類型為boolean。
boolean isExist=c.isAnnotationPresent(Description.class);
步驟3:獲取類上自定義注解實(shí)例,需要強(qiáng)制類型轉(zhuǎn)換。
Description d=(Description)c.getAnnotation(Description.class);
步驟4:獲取方法上的注解,首先,遍歷所有方法,通過方法對(duì)象的isAnnotation查看是否有自定義注解,如果存在則輸出方法的自定義注解的信息。
第二種解析方法:獲取這個(gè)方法的所有注解,Annotation [] as=m.getAnnotations();然后遍歷該注解,如果遍歷的注解是Description類型,則把遍歷的注解強(qiáng)轉(zhuǎn)為Description類型,并進(jìn)行輸出value()信息。
@Inherited:當(dāng)自定義注解上使用了該注解,如果在父類上標(biāo)識(shí)該注解,解析一個(gè)子類,子類也可以獲取該注解的信息。
查看全部 -
使用自定義注解
語(yǔ)法:
查看全部 -
Java自定義注解
【a】自定義注解的語(yǔ)法要求
注解定義:使用public @interface關(guān)鍵字定義注解,注解中的第一個(gè)方法類似于接口中的方法,在這里表示成員變量,成員變量必須以無參數(shù)、無異常方式聲明,可以用default為成員變量指定默認(rèn)值。
成員類型是受限的,合法的類型包括原始類型(int、double、float)還包含String、Class、Annotation、Enumeration。
如果注解只有一個(gè)成員,則成員名必須取名為value(),在使用時(shí)可以忽略成員名和賦值號(hào)(=)。
注解類可以沒有成員,沒有成員的注解稱為標(biāo)識(shí)注解。
【b】元注解(注解的注解)
@Target({ElementType.METHOD,ElementType.TYPE}):代表自定義注解的作用域,通過ElementType的屬性可以標(biāo)識(shí)自定義注解的作用范圍。
@Retention(RetentionPolicy.RUNTIME):自定義注解的生命周期(可以是源碼、編譯、運(yùn)行這三個(gè)中的一種有效)
@Inherited:標(biāo)識(shí)型的元注解,表示子注解可以繼承該自定義注解。
@Documented:生成javadoc時(shí)會(huì)包含注解。
【c】使用自定義注解
【d】解析注解
查看全部 -
Java注解的分類
按照運(yùn)行機(jī)制分類:
【1】源碼上注解:注解只在源碼中存在,編譯成.class文件就不存在了。
【2】編譯時(shí)注解:注解在源碼和.class文件中都存在(例如JDK注解:@Override、@Deprecated、@Suppvisewarnings)。
【3】運(yùn)行時(shí)注解:運(yùn)行階段還起作用,甚至?xí)绊戇\(yùn)行邏輯的注解(例如:Spirng提供的@Autowired注解,程序運(yùn)行時(shí),把成員變量自動(dòng)注入)。
按照來源分類:
【1】來自JDK的注解
【2】來自第三方的注解
【3】自定義注解
元注解:給注解進(jìn)行注解
查看全部 -
Java第三方注解
查看全部 -
Java中常見注解
【a】JDK中自帶注解
@Override:一般在實(shí)現(xiàn)了接口的方法上標(biāo)識(shí),作用是告訴編譯器該方法是接口的方法。
@Deprecated:一般在接口中的方法上進(jìn)行標(biāo)識(shí),作用是該方法過時(shí)了。
@Suppvisewarnings:忽視警告,@SuppressWarnings("deprecation")
查看全部 -
Java注解概念:Java提供了一種原程序中的元素關(guān)聯(lián)任何信息和任何元數(shù)據(jù)的途徑和方法(注解是在JAVA1.5中引入的)。
學(xué)習(xí)注解的目的?
1、能夠讀懂別人寫的代碼,尤其是框架相關(guān)的代碼。
注解的優(yōu)點(diǎn)?
2、使編程更加簡(jiǎn)潔,代碼更加清晰。
注解可以做什么?
3、?在使用框架的時(shí)候會(huì)使用到注解。
【一】Java中的常見注解(JDK和第三方定義好的注解)
【二】注解的分類
【三】自定義注解
【四】注解應(yīng)用實(shí)戰(zhàn)
查看全部 -
注解的分類
查看全部
舉報(bào)