這篇文章主要介紹了如何在java項目中使用@Inherited元注解的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇如何在java項目中使用@Inherited元注解文章都會有所收獲,下面我們一起來看看吧。
喀什網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,喀什網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為喀什上千家提供企業(yè)網(wǎng)站建設(shè)服務。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務好的喀什做網(wǎng)站的公司定做!
1.先看源碼文檔
@已記錄
@Retention(保留策略。RUNTIME)
@Target(ElementType。注釋類型)
public@interfaceInherited{
}以上代碼標注部分可以用Google翻譯。大致意思是
指示批注類型的自動繼承。如果在標注類型聲明中有繼承的元標注,用戶在類聲明上查詢標注類型,而類聲明沒有這個類型的標注,那么類的超類會自動查詢標注類型。這個過程將重復進行,直到找到這種類型的注釋或者到達類層次結(jié)構(gòu)的頂部。如果沒有一個超類有這種類型的注釋,查詢將會指出這個類沒有這樣的注釋。
請注意,如果您使用注釋類型來注釋除類之外的任何東西,這種元注釋類型沒有任何效果。還要注意,這個元注釋只會導致從超類繼承注釋;對已實現(xiàn)接口的無效注釋。
從上面的描述可以看出,使用這個標注的標注父類的子類可以繼承父類的標注。
2.代碼測試
2.1擁有@Inherited注解
@Target(ElementType。類型)
@Retention(保留策略。RUNTIME)
@繼承
public @ interfaceInheritedTest {
string value();
}@InheritedTest('擁有繼承')
publicclassPerson{
publicvoidmethod(){
}
publicvoidmethod2(){
}
} publicclassstudentextends person {
}測試:
publicclassTestInherited{
public static void main(String[]args){
CLaSS studentCLaSS=student . class;
if(student class . is notationpresent(inherited test . class)){
system . out . println(StudentClass . GetAnnotation(InheritedTest . Class))。value());
}
}
}輸出:
2.2沒有@Inherited注釋
@Target(ElementType。類型)
@Retention(保留策略。RUNTIME)
public @ interfacesinotinherited {
string value();
} @ IsNotInherited('未擁有繼承')
publicclassPerson{
publicvoidmethod(){
}
publicvoidmethod2(){
}
} publicclassstudentextends person {
}測試:
publicclassTestInherited{
public static void main(String[]args){
CLaSS studentCLaSS=student . class;
if(StudentClass . is notationPresent(iSnotinerIded . Class)){
system . out . println(StudentClass . GetAnnotation(iSNOTiHerided . class))。value());
}
}
}
不輸出容差,可見沒有@Inherited標注的類的子類不會繼承該標注。
關(guān)于“如何在java項目中使用@Inherited元注解”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“如何在java項目中使用@Inherited元注解”知識都有一定的了解,大家如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享題目:如何在java項目中使用@Inherited元注解
標題鏈接:http://aaarwkj.com/article42/jjjhhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、移動網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、網(wǎng)站內(nèi)鏈、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)