Refactoring,是指在程序功能不变的情况下,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和
框架更趋合理,提高软件的扩展性和维护性。
对于类名,方法名以及变量名都是可以修改的,但是修改的时候直接在原有的基础上修改,这是不够的,因为其
他调用它的地方也需要修改,这就造成很麻烦的一个一个修改,效率极低,是我们最不提倡的。
为了解决上面的问题是使用重构,操作就是选中要更改的方法名,例如方法test我们改成test1,选中test,然后右
击选择Refactor,找到Rename这个选项,然后在原方法名上直接输入新的名词,然后敲击回车,那么所有调用到test
方法的地方都会改为test1。
我们将demo工程下的com.sina.demo包内的RefactoringDemo类移动到demo3工程下的默认包内。选中
RefactoringDemo,然后右击选择Refactor,找到Move这个选项,出现Move对话框,选择要移动的位置即可。
我们将RefactoringDemo类中的test方法进行更改,选中test方法,在test方法上右击选择Refactor,找到Change
Method Signature这个选项,出现Change Method Signature对话框,我们在里面进行相应的更改操作,预览更改的
设置,那么调用test1方法的地方发也会做出相应的修改,然后回到编辑器加上返回值return 0;语句即可。
我们想把mian方法中的for循环独立成为一个方法,那么这样做就可以,选中那一段提取方法的所有代码,右击
选择Refactor,找到Extract Method这个选项,出现Extract Method对话框,我们在里面进行相应的更改操作即可。
如果我们想把test3方法中的for循环的i<10中的10作为一个局部变量出现,那么选中10,右击选择Refactor,找
到Extract Local Variable这个选项,在出现的对话框中将局部变量名字定义成num,点击OK即可。
如果我们想把test3方法中的10作为一个常量出现,那么选中10,右击选择Refactor,找到Extract Constant这个
选项,在出现的对话框中将常量名字定义成NUM,点击OK即可。
我们想把test1方法中的局部变量tel提升为类的成员变量,那么选中tel,右击选择Refactor,找到Convert Local
Variable to Filed这个选项,在出现的对话框中将成员变量名字定义成tel,修饰符为private,点击OK即可。
我们想将main方法中的匿名类提升为嵌套类,选中匿名类的所有代码,右击选择Refactor,找到Convert
Anonymous Class to Nested Class这个选项,在出现的对话框中做出相应的修改,点击OK即可。
我们将RefactoringDemo.java源文件中的MyClass类转换为一个新的文件,选中整个MyClass类,右击选择
Refactor,找到Move Type to File这个选项,在出现的对话框中预览修改后的新文件,点击OK即可。
我们在main方法中调用了test3方法,那么内联就是将调用直接改为方法体,选中test3,右击选择Refactor,找
到Inline Method这个选项,在出现的对话框中做出相应的修改,点击OK即可。
如果我们想要提取RefactoringDemo2类的父类,我们在编辑器上右击选择Refactor,找到Extract Superclass这
个选项,进入到Refactoring对话框,我们填写父类的名称和勾选父类的成员,点击Finish即可。
如果我们想要提取Parent类的的接口,我们在编辑器上右击选择Refactor,找到Extract Interface这个选项,进入
到Extract Interface对话框,我们填写接口的名称和勾选接口的成员,点击OK即可。