本文概述
- 改名
- 复制重构
- 移动重构
- 安全删除
- 查找和替换代码重复项
在重构菜单中, 我们可以找到所有可能的重构选项。还有一个快捷方式选项可用于重构。 “ Ctrl + Alt + Shift + T”快捷方式将打开一个弹出窗口, 其中显示光标悬停在的代码段的所有重构选项。
【IntelliJ代码重构】一些重要的重构选项如下:
- 改名
- 复制重构
- 移动精炼
- 安全删除
- 查找和替换代码重复项
public class Person {private String name;
private String address;
private int age;
public Person() {this("PeterJohn", 30);
}public Person(String name, int age) {this.name = name;
this.age = age;
}public String getName() {return name;
}public void setName(String name) {this.name = name;
}public int getAge() {return age;
}public void setAge(int age) {this.age = age;
}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +", age=" + age +'}';
}public static void main(String args[]) {Person e = new Person();
System.out.println(e);
}}
现在, 我们将使用Employee更改Person类的名称, 然后它将修改构造函数和main()方法。为此, 请按照以下步骤操作:
- 选择人词
- 在菜单栏中, 转到“重构”-> “重命名”。出现以下屏幕。更改名称, 然后单击“重构”按钮。
文章图片
复制重构 此操作用于将一个类复制到另一个类。它可以在现有的一个或新的中完成。为此, 请按照以下步骤操作:
- 转到重构-> 复制。出现以下屏幕。
文章图片
- 输入新名称, 选择目标软件包, 然后单击确定按钮。
- 转到重构-> 移动。出现以下屏幕。
- 提供目的地。单击重构。
文章图片
安全删除 仅当在项目中的任何地方均未引用该对象时, 此选项才会删除该对象, 类, 方法, 接口, 参数等。为此, 请按照以下步骤操作:
在编辑器中键入以下代码, 然后选择“ sayHi”
package MyPackage;
public class HelloWorld {static void sayHi(){System.out.println("Hi");
}public static void main(String[] args) {sayHi();
}}
现在去重构-> 安全删除
如果在任何地方使用sayHi方法, 它将在下面的屏幕上显示。
文章图片
查找和替换代码重复项 此重构选项标识类似于所选方法或常量字段的重复代码, 并用合适的代码替换。为此, 请按照以下步骤操作:
- 输入以下代码, 将光标定位在我们要搜索的重复项上。
package MyPackage;
public class Person {private String name;
private int age;
public Person() {this("PeterJohn", 40);
}public Person(String name, int age) {this.name = name;
this.age = age;
}public void setData(String name, int age) {this.name = name;
this.age = age;
}public void showPersonDetail() {System.out.println("Name = " + name + ", Age = " + age);
}public static void main(String args[]) {Person e = new Person();
e.showPersonDetail();
}}
- 转到重构-> 查找和替换代码重复项
- 对话框打开, 选择范围, IDE将在其中查找重复项
文章图片
- 重构后, 它会显示确认消息, 单击“重构”。输出为:
package MyPackage;
public class Person {private String name;
private int age;
public Person() {this("PeterJohn", 40);
}public Person(String name, int age) {setData(name, age);
}public void setData(String name, int age) {this.name = name;
this.age = age;
}public void showPersonDetail() {System.out.println("Name = " + name + ", Age = " + age);
}public static void main(String args[]) {Person e = new Person();
e.showPersonDetail();
}}
推荐阅读
- IntelliJ IDEA调试
- IntelliJ IDEA代码检查
- IntelliJ IDEA代码编辑器元素
- IntelliJ IDEA构建工具
- 如何在Ubuntu中压缩和解压缩文件夹
- 如何在Ubuntu 16.04 LTS上运行GlassFish()
- 如何在Ubuntu 16.04 LTS上安装Zend Framework()
- 如何在Ubuntu 16.04 LTS上安装Yii()
- 如何在Ubuntu 16.04中安装WordPress()