- Intellij Idea教程
- Intellij Idea - 主页
- Intellij Idea - 简介
- 安装与配置
- Intellij Idea - 熟悉
- 创建第一个 Java 项目
- Intellij Idea - 深入探讨
- Intellij Idea - 深入研究编辑器
- Intellij Idea - 代码重构
- Intellij Idea - 运行项目
- Intellij Idea - 构建工具
- Intellij Idea - 单元测试
- Intellij Idea - 调试
- Intellij Idea - 分析
- Intellij Idea - 版本控制
- Intellij Idea - 数据库
- 从 NetBeans 迁移
- Intellij Idea - 从 Eclipse 迁移
- Intellij 理念资源
- Intellij Idea - 快速指南
- Intellij Idea - 有用资源
- Intellij Idea - 讨论
Intellij Idea - 代码重构
在本章中,我们将了解代码重构及其在 IntelliJ 中的工作原理。代码重构是在不改变其功能和可用性的情况下重构代码。代码重构可以提高代码的可读性、性能或删除未使用/重复的功能。IntelliJ 为代码重构提供了强大的支持。本章讨论各种代码重构操作。
改名
重命名操作可用于重命名方法、其参数、类属性、局部变量等。让我们在 IntelliJ 中创建以下类。
public class Employee { private String name; private String address; private int age; public Employee() { this("Jarvis", "Palo Alto", 35); } public Employee(String name, String address, int age) { this.name = name; this.address = address; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Employee{" + "name='" + name + '\'' + ", address='" + address + '\'' + ", age=" + age + '}'; } public static void main(String args[]) { Employee e = new Employee(); System.out.println(e); } }
现在,让我们将Employee类重命名为Person。此操作将在构造函数和main()方法中进行修改 -
选择员工词
转到Refactor → Rename并用 Person 重命名。
替换重复代码
这是强大的重构操作之一。IntelliJ 识别代码重复并将其替换为适当的代码。让我们引入代码重复并重构它。在编辑器中输入以下代码 -
public class Employee { private String name; private String address; private int age; public Employee() { this("Jarvis", "Palo Alto", 35); } public Employee(String name, String address, int age) { this.name = name; this.address = address; this.age = age; } public void setData(String name, String address, int age) { this.name = name; this.address = address; this.age = age; } public void showEmployeeDetail() { System.out.println("Name = " + name + ", Address = " + address + ", Age = " + age); } public static void main(String args[]) { Employee e = new Employee(); e.showEmployeeDetail(); } }
在此示例中,Employee(String name, String address, intage ) 构造函数和public void setData(String name, String address, intage ) 方法完全相同。重构后,Employee(String name, String address, intage) 构造函数被修改如下 -
public Employee(String name, String address, int age) { setData(name, address, age); }
替换重复项 -
转到重构→查找并替换代码重复项。
选择重构范围并按照屏幕上的步骤完成操作。
复制重构
在本节中,我们将了解如何将一个类复制到另一个类。让我们将 Employee 类复制到 Person 类。我们可以将其复制到现有模块或新模块中。IntelliJ 将根据它进行所需的更改。按照以下步骤执行复制重构 -
转到Refactor → Copy,它将打开对话框。
输入新名称和目标包。
单击“确定”按钮,它将执行所需的操作。
移动重构
移动重构与复制类似,但它不是制作另一个副本,而是将代码移动到不同的包或将其作为另一个类的内部类。
按照以下步骤执行移动重构 -
转到重构→移动。
将出现一个新窗口。
根据您的选择选择选项之一,然后单击“重构”。
安全删除
仅当项目中任何地方都没有引用对象时,安全删除操作才会删除该对象。此选项的目标可以是类、接口、方法、字段或参数。
让我们看看它的实际效果。在编辑器中输入以下代码 -
public class HelloWorld { static void sayHello() { System.out.println("Hello, World !!!"); } public static void main(String[] args) { sayHello(); } }
请按照以下步骤执行安全删除操作 -
选择sayHello()方法。
右键单击它并选择“重构”→“安全删除”选项。
当使用 sayHello() 方法时,它将显示一个错误,如下图所示 -
更改签名
该操作修改方法签名。它可以改变方法的名称、参数、类型、返回值等。让我们采用上面示例中的一个方法并更改其签名。
按照以下步骤执行更改签名操作 -
选择方法。
右键单击它并选择“重构”→“更改签名”操作
将出现一个新窗口,您可以在其中执行上述操作。
窗口底部显示新签名的预览。
类型迁移
类型迁移会更改符号的类型。该符号可以是方法参数或类属性。在执行所需的操作之前,让我们考虑以下方法 -
static void sayHello(String name) { System.out.println(name); }
请按照以下步骤执行类型迁移 -
选择“字符串”数据类型。
右键单击它并选择Refactor → Type migration。
在给定的文本框中输入所需的数据类型。
选择范围并单击“重构”按钮。