Java Eclipse:使用重构工具(或插件)将变量从私有更改为公共?

Java Eclipse:使用重构工具(或插件)将变量从私有更改为公共?,java,eclipse,automated-refactoring,Java,Eclipse,Automated Refactoring,有一些问题试图从公共领域转向私人领域。我想走另一条路 我有一个中等规模的项目,我希望将三个常用变量从private更改为public。setter和getter的形式如下: private int x; public getX() { return x; } public setX(int x) { this.x = x; } 有没有一种简单的方法来重构这些变量,删除setter和对setter的所有引用,并直接替换为变量 据我所知,Eclipse重构支持从公共到私有的转换,但另一种方式似乎很

有一些问题试图从公共领域转向私人领域。我想走另一条路

我有一个中等规模的项目,我希望将三个常用变量从private更改为public。setter和getter的形式如下:

private int x;
public getX() { return x; }
public setX(int x) { this.x = x; }
有没有一种简单的方法来重构这些变量,删除setter和对setter的所有引用,并直接替换为变量

据我所知,Eclipse重构支持从公共到私有的转换,但另一种方式似乎很困难。如果本机不支持,是否有可以执行此任务的插件


[编辑:应该添加,我使用的是Eclipse开普勒服务版本2]

你为什么不干脆保留你的能手和二传手呢

public int x;
public getX() { return x; }
public setX(int x) { this.x = x; }

Eclipse中没有这样的内置重构。也许您能做的最好的事情是让Eclipse定位这些方法的用法,然后手动替换它们。当然,您总是可以在Eclipse中编写自己的重构,但是根据学习曲线,这可能比手工修改要花费更长的时间。

虽然我觉得这个要求非常奇怪,但即使对于您的用例,getX和setX看起来也很好,您也可以通过3个步骤完成:

将字段x的修饰符从private更改为public 内联getter getX 内联setter setX
我在本地对它进行了测试,它可以与Eclipse3.8.1一起使用。

为什么需要一个公共变量?@michael667 getter和setter没有向类中添加任何内容:setter或getter都不会修改这些值,因此所有这些结果都是使用这些值的代码中额外的内容。这是一种经常使用的非常原始的数据类型;我更喜欢对变量的一致访问,而在离开setter时将其公开是一件很麻烦的事情。上面有评论,但作为对您答案的回答:getter和setter没有向类添加任何内容:setter或getter都不会修改这些值,因此所有这些结果都会在使用这些值的代码中产生额外的量。这是一种经常使用的非常原始的数据类型;我更喜欢对变量的一致访问,在离开setter时将其公开是一件很麻烦的事情。您尝试过使用remplace all函数吗?或者,您可能有另一个类使用相同名称的方法,在没有充分理由的情况下公开任何成员变量将破坏封装