如何使用 @SuppressWarning
注释抑制以下错误?
The method
Foo.trololo()
does not override the inherited method fromBar
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/