# 将构造函数替换为工厂方法

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

> **TL;DR**
> `Alt+Enter` (Windows), `⌥ ⏎` (macOS), `⌥ ⏎` (IntelliJ IDEA Classic (macOS)), `⌥ ⏎` (macOS System Shortcuts), `Alt+Enter` (XWin), `Alt+Enter` (GNOME), `Alt+Enter` (KDE), `Alt+Enter` (Emacs), `Alt+Enter` (Sublime Text), `⌥ ⏎` (Sublime Text (macOS)), `Alt+Enter` (Visual Studio), `⌥ ⏎` (Visual Studio (macOS)), `Alt+Enter` (NetBeans), `Ctrl+1` (Eclipse), `⌘ 1` (Eclipse (macOS)) |   将构造函数替换为工厂方法
>
>
>
> 此重构功能仅作为 [intention action](intention-actions.html)提供。

将构造函数替换为工厂方法   重构让您隐藏一个构造函数，并用一个返回类的新实例的静态方法替换它。

Procedure:

1. 请将文本光标放在编辑器中的类构造函数处，然后按 `Alt+Enter` (Windows), `⌥ ⏎` (macOS), `⌥ ⏎` (IntelliJ IDEA Classic (macOS)), `⌥ ⏎` (macOS System Shortcuts), `Alt+Enter` (XWin), `Alt+Enter` (GNOME), `Alt+Enter` (KDE), `Alt+Enter` (Emacs), `Alt+Enter` (Sublime Text), `⌥ ⏎` (Sublime Text (macOS)), `Alt+Enter` (Visual Studio), `⌥ ⏎` (Visual Studio (macOS)), `Alt+Enter` (NetBeans), `Ctrl+1` (Eclipse), `⌘ 1` (Eclipse (macOS))。

2. 从可用的上下文操作列表中选择   将构造函数替换为工厂方法  。

![将构造函数替换为工厂方法](https://resources.jetbrains.com/help/img/idea/2026.3/replace_constructor_with_factory_method.png)

3. 在编辑器中，指定工厂方法的名称。

## 示例

|  之前  |  之后  |
| --- | --- |
|     ```JAVA // File Class.java public class Class {     public Class(String s) {         ...     } }  // File AnotherClass.java public class AnotherClass {     public void method() {         Class aClass = new Class("string");     } }  ```    |     ```JAVA // File Class.java public class Class {     private Class(String s) {         ...     }     public static Class createClass(String s) {         return new Class(s);     } }  // File AnotherClass.java public class AnotherClass {     public void method() {         Class aClass = Class.createClass("string");     } }  ```    |

## See also

### 重构

[代码重构](refactoring-source-code.html)

