
# 引入参数
此重构允许为方法声明引入新参数，以便在方法调用中，将原始表达式作为方法参数传递。您还可以选择保留原始方法，或者使用创建的参数定义一个新方法。这与[内联参数](https://support.huaweicloud.com/usermanual-codeartside/codeartside_01_0141.html)重构相反。
#### 执行重构
1. 在代码编辑器中，将光标放置在要提取到参数的表达式上。
2. 单击右键展示上下文菜单，选择**"重构 \> 引入参数..."**。或者按"Ctrl+Shift+Alt+P"。
3. 如果多个表达式属于重构范围，请在弹窗中选择所需的表达式。
4. 在打开的**"引入参数"** 对话框中，提供引入参数的类型和名称，并选择是否应将参数"声明为final"参数。要保留原始方法并使用引入的参数定义新方法，请使用**"通过重载方法委托"** 选项。
   
   如下图所示：
   图1引入参数   
   ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002343546438.png)
   
   
5. 单击**"重构"** 以应用重构。
 
#### 示例
作为示例，将表达式 "Hello" + " " + "World!" 提取到一个新的**message**参数中，并将其委托给一个重载的方法。
**重构前**
"com\\refactoring\\source\\ExtractParameter.java"文件内容如下：
```
class ExtractParameter {
    public static void main(String[] args) {
        sayHello();
    }
    private static void sayHello() {
        System.out.println("Hello" + " " + "World!");
    }
}
```
**重构后**
将"println"的参数作为参数引入后，"com\\refactoring\\source\\ExtractParameter.java"文件内容如下：
```
class ExtractParameter {
    public static void main(String[] args) {
        sayHello("Hello" + " " + "World!");
    }
    private static void sayHello(String message) {
        System.out.println(message);
    }
}
```
