“嗨,阿米戈!”
“你好,瑞希。”
“今天我就給大家深入介紹一下註解。”
“您可能已經知道,註釋是可以放在類、字段、方法和變量旁邊的特殊詞。”
“是的,我經常遇到他們。”
“有時它們也被稱為元數據。它們的主要目的是存儲有關方法、字段和類的特定附加信息。”
“他們為誰存儲它?”
“這是一個非常好的問題。”
“人們寫註釋,這意味著必須有人需要它們。”
“註釋讓您可以存儲有關代碼和程序元素的附加信息,但從形式上講,它們不是代碼的一部分。”
“註釋可用於生成 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()
{
}
“知道了。”
“我有點累了,我要弄濕乾涸的喉嚨了,我們休息一下再繼續,好嗎?”
“當然。”
GO TO FULL VERSION