假设以下情况: 我有一个私有字段和一个引用或修改此字段的内部类。编译器将此标记为警告,因为该字段应为 protected (默认可见性)。到目前为止一切顺利。
Eclipse非常聪明,可以为这种情况提供快速修复,当我使用它时,它只是删除私有修饰符。
这会删除警告,但与我的代码样式不符。我希望用 protected 代替 private 这个词。
有没有办法修改Quickfix的行为方式?
示例代码以便更好地理解:ActionListener中的foo标记为警告
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Test {
private String foo = "bar";
public void bla() {
ActionListener al = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
foo = "whatev";
}
};
}
}
提前致谢!
编辑: 感谢Aleks和Thin Pham。我误解了默认和受保护的可见性。还有,有办法修改Quickfix吗?
答案 0 :(得分:0)
我的“风格”是为私有字段创建某种(必要时受保护)设置器,因为我试图避免使用非私有字段。非私有字段的问题是您必须在基类中添加许多其他代码,以捕获可能来自后代类的每个可能的无效更改。如果你有一个受保护/公共的setter,你可以捕获这个setter中的每个无效更改,而其他类不必担心它。
在某些情况下,创建非私有字段绝对有意义,但您的代码示例通常不是其中之一(至少对我而言)。
答案 1 :(得分:-1)
快速修复程序与Eclipse中的其他内容一样,通过插件提供。最有可能是JDT插件之一。我认为你唯一能做的就是在自己的插件中编写自己的快速修复程序。