0

我正在开发 NetBeans 上的 Java 项目。

在某些时候,我有几个不是静态的变量和方法(比如说,大约二十个)。我想将它们全部重构为静态的。我该如何继续呢?netbeans可以做到吗?

例子:

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

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

例子:

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

一次全部。

--

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

4

2 回答 2

3

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

我会质疑这样做是否明智,但如果你所有的方法都已经以静态方式编写,你可以简单地用“public static”搜索和替换“public”。

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

于 2013-01-22T17:24:31.610 回答
0

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

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

于 2014-07-20T19:05:31.983 回答