@Deprecated public class Betamax { ... }
在上面的例子中,@Deprecated有什麼作用?它純粹是文檔嗎?還是它改變了一些關於編譯器如何對待這個類的內容?註釋主要是關於記錄代碼還是由編譯器強制執行?
@Deprecated public class Betamax { ... }
在上面的例子中,@Deprecated有什麼作用?它純粹是文檔嗎?還是它改變了一些關於編譯器如何對待這個類的內容?註釋主要是關於記錄代碼還是由編譯器強制執行?
編譯器強制執行一些註釋(如檢查和抨擊)(如@Override
)。
但是最有用的部分是庫可以提供自己的註釋(如@Entity
或@PersistenceAware
),其中Java語言(JDK核心)不知道任何內容。這就像是在語言中添加特定領域的語法糖。
@Deprecated
用於文檔。當您使用已棄用的方法(或類)時,它也會創建編譯器警告,就像舊JavaDoc @deprecated
標記一樣。
純粹是爲了文檔的目的。
如果您將某些內容標記爲已棄用,則您通過生成的Javadoc向用戶指示不應使用此方法/類,例如,
日期(int year,int month,int date): 已過時。從JDK version 1.1開始, 被Calendar.set(年份+ 1900, 月份,日期)或GregorianCalendar(年份 + 1900,月份,日期)取代。
如果您將某些內容標記爲已棄用,最好向用戶指明他們應該使用什麼來代替此方法。