从匿名类中访问私有成员变量的第一个建议修复方法是:
将“foo”的可见性更改为“默认”
我个人从不喜欢 Java 中默认权限的非显式性质。此外,我想要最严格的权限来消除警告。
理想的情况是 Java 具有“文件私有”级别的权限,但事实并非如此。
我的问题是这是否可能以及如何将 Eclipse 建议的修复更改为“受保护”而不是“默认”?
你的问题是矛盾的。default
可见性修饰符比修饰符更具限制性protected
。这就是为什么 eclipse 建议这样做的原因。您应该使用该建议值。
如果由于创建字段的子类而需要该字段的 protected 修饰符,那么 eclipse 会准确地建议。所以在较长的开发周期中,你可以先把同一个字段的修饰符改成default,然后再改成protected,但你不应该去默认protected。
如果您想创建高质量的源代码,您对语言功能的个人喜好应该比已建立的最佳实践和编码指南的优先级低得多。
尽管可以添加自己的快速修复,但没有简单的方法来更改快速修复。
看到这个问题:我如何配置 Eclipse 以默认创建受保护的 java 方法而不是私有的?
有Poor Man's Quick Fix Eclipse 插件,但它是从2008 年开始的,我还没有尝试过。