【问题标题】:Eclipse generate getters and setters does not encapsulateEclipse生成getter和setter不封装
【发布时间】:2013-02-13 15:48:55
【问题描述】:

当我在 Eclipse 中快速修复一个字段时,我可以为该字段生成一个 getter 和 setter。这也使该字段成为私有字段,随后将所有源文件中对该字段的所有访问转换为使用 getter 和 setter。这是单个字段的情况。

但是,如果我执行 contextmenu > Source > Generate Getters and Setters...(当您想要影响所有字段时使用的选项),它不会进行上述更改,并且保留对源代码中字段的所有访问权限照原样。

我是否忽略了什么?

【问题讨论】:

    标签: java eclipse encapsulation setter getter


    【解决方案1】:

    快速修复不会进入此菜单。可以从Context Menu -> Refactor -> Encapsulate Field访问快速修复调用的菜单

    【讨论】:

    • CTRL-1(我认为那是 quickfix 快捷方式)提供“生成 getter 和 setter”,这会打开您描述的窗口(封装)。这是我在帖子第一部分中描述的功能。如我错了请纠正我。我的问题是 Source > Refactor 不封装任何字段,这与重构 > 封装字段不同。我可以为我的所有字段做重构>封装字段,但我有点懒..
    • 当您使用 Ctrl-1 并转到 Generate getter and setter 时,它将为您提供 Encapulate Field 屏幕。这个名字很混乱。如果您查看Generate getters and setter 文档,您会清楚地看到它:上面写着Starts the 'Encapsulate field' refactoring to create getter and setters。他们可能应该更好地命名它。
    • 有没有办法批量做到这一点?例如。选择 20 个字段并说:封装所有字段?
    猜你喜欢
    • 2010-09-13
    • 2018-05-05
    • 2020-05-19
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多