使用Java的Netbeans:将所有方法设置为静态

时间:2013-01-22 16:49:20

标签: java netbeans refactoring netbeans-7 automated-refactoring

我正在研究NetBeans上的Java项目。

在某些时候,我有几个不是静态的变量和方法(比如说,大约有二十个)。我想重构所有这些都是静态的。我该如何处理? netbeans能做到吗?

示例:

public void method1() {
//...
}
public void method2() {
//...
}

当我点击某处或按某些按钮时,我希望以前的方法成为:

示例:

public static void method1() {
//...
}
public static void method2() {
//...
}

一下子。

-

另一种常见变体:假设我已将所有方法设置为公开,但我不再需要它了。我怎么能重构所有私有的方法(所以以后我只能改为公开我认为必要的)?

2 个答案:

答案 0 :(得分:2)

这种事情的用例非常小。将静态API转换为OO可能更常见,但是将所有内容转换为静态只是通常不足以让任何IDE对我进行自动重构。

我一直怀疑这样做的智慧,但如果你的所有方法都已经以静态方式编写,你可以简单地用“公共静态”搜索和替换“public”。

至于更改方法的访问级别,它会因IDE而异,但是再次搜索和替换可能比任何clicky复选框重构对话框都容易得多,特别是如果您只是打开访问权限(缩小它)可能会破坏其他代码,但它不太可能是重构工具可以解决的任何问题)。

答案 1 :(得分:0)

一年后,我发现在一个好的通用文本编辑器(例如emacs或vim)的帮助下,而不是IDE(NetBeans,Eclipse等),可以更好地完成这项任务。 / p>

在这种情况下,更好的文本编辑器是用户已经习惯的文本编辑器,在我的例子中是Emacs。 Multiple cursors包很容易解决这个问题。另一种选择是使用原生query-replace函数(默认情况下限制为M-%)。