@Deprecated public class Betamax { ... }
在上面的例子中,@ Deprecated有什么影响?这纯粹是文件吗?或者它是否会改变编译器如何处理这个类?
答案 0 :(得分:2)
编译器强制执行(如检查和修改)某些注释(如@Override
)。
但最有用的部分是库可以提供自己的注释(如@Entity
或@PersistenceAware
),其中Java语言(JDK核心)不知道任何内容。这有点像在语言中添加特定于域的语法糖。
@Deprecated
用于提供文档。当您使用不推荐使用的方法(或类)时,它也会创建编译器警告,就像旧的JavaDoc @deprecated
标记一样。
答案 1 :(得分:1)
纯粹出于文档目的。
如果您将某些内容标记为已弃用,则通过生成的Javadoc向用户指明不应使用此方法/类,例如
日期(int year,int month,int date): 已过时。从JDK 1.1版开始, 由Calendar.set取代(年份+ 1900, 月,日)或GregorianCalendar(年 + 1900,月,日)。
如果您将某些内容标记为已弃用,则最好向用户指明应使用哪种方法代替此方法。