
# 引入变量
此重构允许创建新变量，通过选定的表达式进行初始化，并使用创建变量的引用替换原始表达式。这与[内联变量](https://support.huaweicloud.com/usermanual-codeartside/codeartside_01_0140.html)相反。
#### 执行重构
1. 在代码编辑器中，将光标放置在要提取到变量的表达式上。
2. 单击右键展示上下文菜单，选择**"重构 \> 引入变量..."**。或者按"Ctrl+Alt+V"。
3. 如果多个表达式属于重构范围，请在弹窗中选择所需的表达式。
4. 在打开的**"引入变量"** 对话框中，提供引入变量的类型和名称，并选择重构选项：
   
   - 选择变量是否应"声明为final"。
   
   - 如果项目的语言级别设置为Java 10以及更高的版本，则可以选择使用**var** 标识符来声明变量，而不是显式提供其类型，这有助于提高代码的可读性。
     如下图所示：
     图1引入变量   
     ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002351476374.png) 
   
   
   
   
5. 单击**"重构"**以应用重构。
 
#### 示例
例如，将表达式"Hello"+" "+"World!"提取到一个新的**message**变量中。
**重构前**
"com\\refactoring\\source\\ExtractVariable.java"文件内容如下：
```
class ExtractVariable {
    public static void main(String[] args) {
        sayHello();
    }
    private static void sayHello() {
        System.out.println("Hello" + " " + "World!");
    }
}
```
**重构后**
将 "Hello" + " " + "World!" 提取变量，提取后，"com\\refactoring\\source\\ExtractVariable.java"文件内容如下：
```
class ExtractVariable {
    public static void main(String[] args) {
        sayHello();
    }
    private static void sayHello() {
        String message = "Hello" + " " + "World!";
        System.out.println(message);
    }
}
```
