IntelliJ IDEA 2025.1 Help

设为 static

Make Static 重构将内部类或实例方法转换为静态的。

对于 class ,此重构还会自动更正代码中对该类的所有引用。

对于 method ,此重构还会自动更正该方法的所有调用、实现和重写。

  1. 请选择您要重构的方法或类。

  2. 在主菜单或上下文菜单中,选择 重构 使静态

  3. 在打开的对话框中,指定重构选项。

    • 对于 ,如果该类引用了任何外部类字段,IntelliJ IDEA建议将外部类作为参数传递给内部类构造函数。

    • 对于 方法 ,如果方法引用了任何包含类的字段,您可以将整个引用对象作为参数传递给方法(将对象作为具有以下名称的参数添加 ),或者将引用的字段/变量作为参数传递给方法(添加参数字段)。

      如果方法不包含对字段或实例变量的任何引用,您可以指定是否希望用类引用替换实例限定符。

  4. 预览并应用您的更改.

将方法设为静态的示例

之前

之后

class ConnectionPool { public int i; public int j; public void getConnection() { ... } }
class ConnectionPool { public int i; public int j; public static void getConnection(ConnectionPool connectionPool) { ... } }
class ConnectionPool { public int i; public int j; public void getConnection() { ... } }
class ConnectionPool { public int i; public int j; public static void getConnection(int i, int j) { ... } }

在调用层次结构中,如果方法调用者不包含对实例成员的任何其他引用,IntelliJ IDEA 建议您也将这些调用者设为静态。 在此示例中,将对 baz(int i) 进行重构。 所有调用方法也被选择为静态。 适当的对话框允许您选择要设为 static 的调用者方法。

之前

之后

class CallHierarchySample { private void foo(int i) { bar(i);} private void bar(int i) { baz(i);} private void baz(int i) { } }
class CallHierarchySample { private static void foo(int i) { bar(i);} private static void bar(int i) { baz(i);} private static void baz(int i) { } }

将类设为静态对话框

请使用此对话框指定 设为 static 重构的选项。

条目

描述

将实例限定符替换为类引用

请指定是否要用类引用替换实例限定符。

使方法静态对话框

请使用此对话框指定 设为 static 重构的选项。

条目

描述

将对象作为具有以下名称的参数添加

如果您希望将整个引用对象作为参数传递给方法,请选择此复选框,然后在下面的字段中指定参数的名称。

添加参数字段

选中此复选框以将引用的字段/变量作为参数传递给方法,然后在列表中选择适当的字段。

上移/下移

请使用此按钮重新排序列表中的参数。

将实例限定符替换为类引用

请指定是否要用类引用替换实例限定符。 复选框可用,如果该方法不包含对字段或实例变量的任何引用。

最后修改日期: 2025年 4月 24日