我们继续接着上一篇的重构来看。
我们在RefactoringDemo2类中的main方法中声明一个RefactoringDemo2类的实例对象demo,我们可以使用重构
来改为这个对象的父类型,选中demo,右击选择Refactor,找到Use Super Type Where Possible这个选项,进入到
Use Super Type Where Possible对话框,选择父类型,点击OK即可。
我们将RefactoringDemo2类中的test2方法上移到parent父类中,我们选中这个方法的所有代码,右击选择
Refactor,找到Pull Up这个选项,进入到Refactoring对话框,选择父类型,点击Finish即可。
我们将Parent父类中的test3方法直接放在子类RefactoringDemo2中,我们选中这个方法所有代码,右击选择
Refactor,找到Pull Down这个选项,进入到Refactoring对话框,选择要下移的方法test3,点击Finish即可。
我们将RefactoringDemo2类中的两个私有成员变量提取为类,选中它们,右击选择Refactor,找到Extract Class
这个选项,进入到Extract Class对话框,写上类名,选择作为内部类,而且产生getter和setter方法,点击OK即可。
我们将RefactoringDemo2类中的test3方法的两个参数引入参数类型,选中这两个参数,右击选择Refactor,找
到Introduce Parameter Object这个选项,进入到Introduce Parameter Object对话框,写上类名,另外建立一个
MyUser类,而且产生getter和setter方法,点击OK即可。
我们在main方法中调用test3方法,引入间接引用的就是,选中test2,右击选择Refactor,找到Introduce
Indirection这个选项,进入到 Introduce Indirection对话框,写上类名,点击OK即可。
我们在RefactoringDemo3类的main方法中创建一个Parent类的实例对象,一般使用的方法是直接new创建对象
,但是如果采用工厂模式创建对象,可以这样做,选中创建对象的构造方法,右击选择Refactor,找到Introduce
Factory这个选项,进入到 Introduce Factory对话框,写上工厂方法名和工厂类名,点击OK即可。
我们将RefactoringDemo3类中的test1方法引入一个参数作为输出,选中输出的变量右击选择Refactor,找到
Introduce Parameter这个选项,进入到Introduce Parameter对话框,点击OK即可。
我们创建Parent类的实例对象parent,如果想要改变这个类型,就需要选中parent,右击选择Refactor,找到
Generalize Declared Type这个选项,进入到Generalize Declared Type对话框,选择父类的类型或者接口,点击OK
即可。
我们在test1方法中创建一个List集合的实例对象,如下面代码,我们需要制定List集合的类型参数,我们选中
List,右击选择Refactor,找到Infer Generic Type Arguments这个选项,进入到Infer Generic Type Arguments对话
框,点击OK即可。
如果要封装test1方法上面的int变量i,那么就选中变量i,右击选择Refactor,找到Encapsulate Filed这个选项,
进入到Encapsulate Filed对话框,选择访问控制修饰符为public,点击OK即可。
在菜单栏中找到Refactor,在下拉列表中找到Migrate JAR File,进入Refactoring对话框,进入jar文件的合并,
我们使用的并不多,因此不再演示。
在菜单栏中找到Refactor,在下拉列表中找到Create Script,进入Refactoring对话框,选择要保存的重构脚本,
选择一个文件夹保存为XML文件。我们也可以将重构脚本文件应用到我们的代码中,我们在在菜单栏中找到
Refactor,在下拉列表中找到Apply Script,进入Refactoring对话框,选择保存的重构脚本,应用到当前代码中。