“嗨,阿米戈!”

“你好,瑞希。”

“今天我就給大家深入介紹一下註解。”

“您可能已經知道,註釋是可以放在類、字段、方法和變量旁邊的特殊詞。”

“是的,我經常遇到他們。”

“有時它們也被稱為元數據。它們的主要目的是存儲有關方法、字段和類的特定附加信息。”

“他們為誰存儲它?”

“這是一個非常好的問題。”

“人們寫註釋,這意味著必須有人需要它們。”

“註釋讓您可以存儲有關代碼和程序元素的附加信息,但從形式上講,它們不是代碼的一部分。”

“註釋可用於生成 XML、確定方法是否已棄用、跟踪錯誤等。”

“這是代碼中的註釋示例:”

例子
@CatInfo(manager=Catmanager.class, unique=true)
class Cat
{
 @Name("Missy")
 private String name;

 @SuppressWarnings(value = "unchecked")
 void getUniqueCatName()
 {

 }
}

“如您所見,數據可以存儲在註釋中。”

“如果一個註解只有一個名為value的字段,那麼字段名可以省略:”

例子
@SuppressWarnings("unchecked")
void getUniqueCatName()
{

}

"如果括號內沒有參數,那麼也可以省略:"

例子
@Override
void getUniqueCatName()
{

}

“創建自己的註釋非常容易。聲明註釋幾乎與聲明接口相同。”

例子
@interface CatManager
{
 Class manager();
 boolean unique();
 String name() default "Unknown Cat";
}

“只有幾個不同之處。”

“首先,你在interface之前放了一個 «@» 符號。”

“其次,註釋可以有默認值。您使用默認一詞來設置默認值。請參見上面的示例。這些參數是可選的,在添加註釋時可以省略。”

“啊。這比我想像的要容易得多。而且我一直在避開它們,就像機器魔鬼避開聖水一樣。當代碼中有很多你不完全理解的東西時,這不是很愉快。”

“哦,你提醒我真好——我想告訴你更多關於編譯器使用的註釋。”

“這樣的註釋只有三個。嗯,目前只有三個。”

@棄用。

“您可以使用@Deprecated 註釋類或方法。這將導致編譯器發出警告(警告不是錯誤),IntelliJ IDEA 會將此方法顯示為帶刪除線的文本。像這樣 :

例子
Date date = new Date();
int year = date.getYear();

@覆蓋。

“將 @Override 註釋添加到您覆蓋的方法被認為是最佳實踐。”

“那是乾嘛的?IDEA不是已經顯示方法是否被覆蓋了嗎?”

“首先是 IDEA,然後是 Java 語法。”

“第二,假設,你可能會遇到這樣一種情況,即基類的方法被重命名,而子類中的方法名稱沒有相應的更改。程序不會按預期工作,但沒有人會注意到。發明這個註解是為了防止這些情況發生:"

例子
@Override
void getUniqueCatName()
{

}

@SuppressWarnings。

“有時編譯器會顯示很多警告。有時我們知道 «問題» 並故意選擇使用創建它們的相應代碼。您可以使用此註釋來隱藏其中一些警告。”

“程序員可以使用@SuppressWarnings註釋告訴編譯器,«不要顯示此錯誤的警告 - 這是故意的。» 例如:”

例子
@SuppressWarnings("unchecked")
void getUniqueCatName()
{

}

“知道了。”

“我有點累了,我要弄濕乾涸的喉嚨了,我們休息一下再繼續,好嗎?”

“當然。”