Java Annotation詳解及實(shí)例代碼
一、Annotation簡(jiǎn)介
- 從Java1.5開始,Java增加了元數(shù)據(jù)(MetaData)的支持,也就是Annotation(注釋);
- Annotation能被用來為程序元素(類、方法、成員變量等)設(shè)置元數(shù)據(jù);
- Annotation不能影響程序代碼的執(zhí)行,無論添加、刪除Annotation,代碼始終如一的執(zhí)行;
- 如果希望讓程序中的Annotataion能在 運(yùn)行時(shí)其一定作用,只有通過某種配套的工具對(duì)Annotation中的信息進(jìn)行訪問和處理,這些工具統(tǒng)稱APT(Annotion Processing Tool);
二、三個(gè)基本的Annotation如下:
@Override:限定重寫父類方法
- 用來指定方法覆蓋的,它可以強(qiáng)制一個(gè)子類必須要覆蓋父類的方法;
- 只能用作于方法,不能用于作用其他程序元素;
- 主要是幫助我們避免一些低級(jí)錯(cuò)誤;
public class Fruit {
public void foo(){
System.out.println("水果的info方法。。。");
}
}
class Apple extends Fruit
{
//使用@Override指定下面方法必須重寫父類方法
@Override
public void foo() {
System.out.println("蘋果重寫水果的info方法...");
}
}
@Deprecated:標(biāo)記已過時(shí)
用于標(biāo)識(shí)某個(gè)程序元素(類、方法等)已過時(shí),當(dāng)其他程序使用已過時(shí)的類、方法時(shí),編譯器將會(huì)給出警告;
class Apple1{
//定義info方法已經(jīng)過時(shí)
@Deprecated
public void info(){
System.out.println("Apple的info方法");
}
}
public class DeprecatedTest {
public static void main(String[] args) {
//下面使用info方法時(shí)將會(huì)被編譯器警告
new Apple1().info();
}
}
@SuppressWarnings:抑制編譯器警告
- 指示被Annotation標(biāo)識(shí)的程序元素(以及在該程序元素中的所有字元素)取消顯示指定的編譯器警告;
- 一直作用于該程序元素的所有子元素;
//關(guān)閉整個(gè)類里的編譯器警告
@SuppressWarnings(value="unchecked")
public class SuppressWarningsTest {
@SuppressWarnings("rawtypes")
public static void main(String[] args) {
List<String> myList = new ArrayList();
myList.add("java");
}
}
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
IDEA新建springboot項(xiàng)目時(shí)未生成pom.xml文件的解決操作
這篇文章主要給大家介紹了關(guān)于IDEA新建springboot項(xiàng)目時(shí)未生成pom.xml文件的解決操作方法,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-02-02
SpringBoot v2.2以上重復(fù)讀取Request Body內(nèi)容的解決方案
這篇文章主要介紹了SpringBoot v2.2以上重復(fù)讀取Request Body內(nèi)容的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
Java開發(fā)學(xué)習(xí)之Bean的作用域和生命周期詳解
這篇文章主要介紹了淺談Spring中Bean的作用域,生命周期和注解,從創(chuàng)建到消亡的完整過程,例如人從出生到死亡的整個(gè)過程就是一個(gè)生命周期。本文將通過示例為大家詳細(xì)講講,感興趣的可以學(xué)習(xí)一下2022-06-06
Java遞歸實(shí)現(xiàn)斐波那契數(shù)列
這篇文章主要為大家詳細(xì)介紹了Java遞歸實(shí)現(xiàn)斐波那契數(shù)列,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
服務(wù)器實(shí)現(xiàn)Java遠(yuǎn)程訪問Linux服務(wù)器方式(JSch)
文章介紹了如何使用Java遠(yuǎn)程訪問Linux服務(wù)器,主要包括建立SSH連接、使用JSch庫執(zhí)行命令、解析返回值以及關(guān)閉連接的步驟2024-11-11

