我有一个带有弃用方法的接口(interface):
public interface A
{
@Deprecated
public String getUUID();
}
还有另一个具有相同但未弃用方法的接口(interface):
public interface B
{
public String getUUID();
}
实现两个接口(interface)的类:
public class MyBean implements A, B
{
@Override
public String getUUID()
{
return UUID.randomUUID().toString();
}
}
编译MyBean
时出现警告:
javac -Xlint:deprecation MyBean.java A.java B.java
MyBean.java:8: warning: [deprecation] getUUID() in A has been deprecated
public String getUUID()
^
1 warning
我真的不明白为什么在我实现 B
时需要这个警告,它定义了不推荐使用的方法...
最佳答案
您已经回答了您的问题。
您收到警告是因为您执行了 implement A
,它具有 @Deprecated
注释。参见 here :
@Deprecated annotation indicates that the marked element is deprecated and should no longer be used. The compiler generates a warning whenever a program uses a method, class, or field with the @Deprecated annotation.
我认为该警告没有任何问题。它应该存在,因为您实际上正在实现一个已弃用 方法,该方法在您正在实现的接口(interface)之一中找到。
关于java - 两个接口(interface)中的弃用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20515743/