java - 抑制 "The method does not override the inherited method since it is private to a different package."

标签 java eclipse annotations

如何使用 @SuppressWarning 注释抑制以下错误?

The method Foo.trololo() does not override the inherited method from Bar since it is private to a different package

据我所知,唯一的方法是用 @SuppressWarning("all") 覆盖整个方法,我不想这样做。


澄清一下:这两种方法的命名和范围是经过深思熟虑的选择,并且这两个类被故意放入不同的包中,因为知道这些方法对彼此不可见。我只是想声明我承认我正在做的事情并且不想被警告。

最佳答案

这是什么意思(你可能已经知道了)

这意味着,即使您的方法与父类(super class)中的(非私有(private))方法同名,它也不会覆盖该方法。

关于警告信息

这是特定于 Eclipse 的警告。语言规范中没有任何内容说明它应该产生此警告。如果您愿意,它是一个“特定于 IDE 的功能”。因此,没有抑制消息的“通用”方法。

(请注意,例如 javac 不会产生此警告。)

如何禁用此警告(在 Eclipse 中)

(我知道不是在找这个,但这个页面的其他一些访问者可能会!)

要禁用此警告,请转到

窗口 -> 首选项 -> Java -> 编译器 -> 错误/警告

并将“方法不覆盖包可见方法”设置为“忽略”。

关于java - 抑制 "The method does not override the inherited method since it is private to a different package.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7569548/

相关文章:

java - 如何在自定义 json 序列化器中获取属性或字段名称

java - 如何在 Eclipse 中安装 Java 6 库的源代码?

eclipse - Eclipse 如何只使用 JRE 编译类?

java - 带有 Spring 注解的 Bean 的多种配置

java - Android 应用程序在运行时不会停止崩溃,ParseInt 出现问题

java - 如何在 Spring 配置文件中初始化 boolean 值?

java - hibernate在maven项目中找不到mysql类

Javassist 注释 MemberValue 不带 Name

java - 当 request.GetAttribute 为 null 时,如何从 textarea 中删除 null,以及如何从 servlet 修改标签的可见性

android - 如何使每个 ListItem 转到不同的 Activity