使用Eclipse进行java代码重构资料Word下载.docx
- 文档编号:14018014
- 上传时间:2022-10-16
- 格式:DOCX
- 页数:9
- 大小:93.82KB
使用Eclipse进行java代码重构资料Word下载.docx
《使用Eclipse进行java代码重构资料Word下载.docx》由会员分享,可在线阅读,更多相关《使用Eclipse进行java代码重构资料Word下载.docx(9页珍藏版)》请在冰豆网上搜索。
非Java项目和Java文件等也可以通过重构菜单的Rename进行重命名。
2.Move
alt+shift+v
Move的重构和Rename的重构类似,它可以把一个Java元素从一个地方移动到另一个地方,Move的重构主要用来移动一个类到不同的包下。
首先选中一个Java文件,选择Refactor菜单下的Move菜单项
3.ChangeMethodSignature
alt+shift+c
“ChangeMethodSignature”重构的功能是改变方法的定义,例如改变方法的参数名称、类型和个数、返回值的类型,方法的可见性以及方法的名称等。
4.ConvertAnonymousClasstoNested
功能:
“ConvertAnonymousClasstoNested”重构的功能是把匿名类改成内部类,这样同一个类的其它部分也可以共享此类了。
例如有例程1所示的类。
例程1KeyListenerExample.java
publicclassKeyListenerExample{
Displaydisplay;
Shellshell;
KeyListenerExample(){
display=newDisplay();
shell=newShell(display);
shell.setSize(250,200);
shell.setText("
AKeyListenerExample"
);
Texttext=newText(shell,SWT.BORDER);
text.setBounds(50,50,100,20);
text.addKeyListener(newKeyListener(){
publicvoidkeyPressed(KeyEvente){
System.out.println("
keyPressed-"
+e.character);
}
publicvoidkeyReleased(KeyEvente){
keyReleased-"
}
});
shell.open();
while(!
shell.isDisposed()){
if(!
display.readAndDispatch())
display.sleep();
display.dispose();
publicstaticvoidmain(String[]args){
newKeyListenerExample();
}
在KeyListenerExample类有一个匿名类,实现了KeyListener接口,可以把这个匿名类改成内部类,首先选择匿名类,右键选择Refactor的“ConvertAnonymousClasstoNested”菜单,输入内部类的名称,如图6所示。
图6“ConvertAnonymousClasstoNested”对话框
重构后的结果是Eclipse为此创建了一个内部类,名称为TestKeyListener,重构后的代码如例程2所示。
例程2重构后的KeyListenerExample.java
privatefinalclassTestKeyListenerimplementsKeyListener{
text.addKeyListener(newTestKeyListener());
也可以通过“ConvertAnonymousClasstoNested”对话框定义新生成的内部类的可访问性。
5.MoveMemberTypetoTopLevel
通过“MoveMemberTypetoTopLevel”的重构方式,可以把内部类改成非内部类,并且重新创建一个新的文件,这样其它的类就可以共享此类。
例程2创建了一个内部类TestKeyListener,现在可以通过“MoveMemberTypetoTopLevel”重构的方式,把TestKeyListener放入一个单独的类中。
首先选择TestKeyListener类,从右键菜单Refactor中选择“MoveMemberTypetoTopLevel”,打开“MoveMemberTypetoTopLevel”对话框,如图7所示。
图7“MoveMemberTypetoTopLevel”对话框
通过上面“MoveMemberTypetoTopLevel”重构,可以把内部类改成非内部类。
有些时候,重构并不是一步完成的,可以一步一步重构,例如,首先把匿名类改成内部类,再接着把内部类改成非内部类。
类型2类层次结构
1.PushDown
PushDown”重构功能是把父类的方法和属性移动到所有的子类中,父类的方法可以选择性的保留抽象方法。
首先选择父类,右键选择Refactor菜单的“PushDown”菜单项,可以通过“PushDown”对话框选择重构,如图8所示。
图8“PushDown”对话框
“PushDown”重构在重新设计类的时候是非常有用的,它可以比较有较的改善类的继承关系,清楚定义类的行为。
2.
PullUp
“PullUp”重构和“PushDown”重构正好相反,它的作用是把方法和属性移动到其父类中去。
选择需要重构的子类,从右键菜单选择Refactor菜单的“Pullup”菜单项,通过“PullUp”对话框进行重构,如图9所示。
图9“PullUp”对话框
“PullUp”重构和“PushDown”重构后可能会出错,在使用此重构的同时,应该先弄清楚某些方法中是否有引用到其它方法或属性。
3.ExtractInterface
“ExtractInterface”重构能够从一个已存在的类中提取接口,它可以从某个类中选择方法,把这些方法提取到一个单独的接口中。
选择提取接口的类,右键选择Refactor菜单的“ExtractInterface”菜单项,打开“ExtractInterface”对话框,如图10所示。
图10“ExtractInterface”对话框
单元OK按钮,将会提取TestInterface的接口,提取接口后,当前选择的类将会实现此接口。
只有公用方法才可以被提取为接口的方法。
4.GeneralizeDeclaredType
“GeneralizeDeclaredType”重构能够改变变量、参数、属性以及函数的返回值的类型,可以把这些类型改成其父类的类型。
在Refactor菜单中选择“GeneralizeDeclaredType”,如图11所示。
图11“GeneralizeDeclaredType”对话框
单击OK按钮,能够把声明的类型改成当对话框中选择的类型。
5.UserSupertypeWherePossible
“UserSupertypeWherePossible”重构能够用某一个类的父类的类型替换当前类的类型,选择需要被替换引用的类。
在Refactor菜单中选择“UserSupertypeWherePossible”打开“UserSupertypeWherePossible”对话框,如图12所示。
图12“UserSupertypeWherePossible”对话框
“GeneralizeDeclaredType”重构和“UserSupertypeWherePossible”重构在面向接口编程方面是很有用的,可以把引用的对象尽可能用接口进行实现。
“UserSupertypeWherePossible”重构将替换其它类中的引用,要想看到重构的效果,应该找到其它类引用的位置,此操作不会修改当前文件。
类型3类内部结构
1.Inline
alt+shift+i
“Inline”重构能用函数的内容替换掉函数的引用。
首先选择函数的引用,在Refactor菜单中选择“Inline”打开“Inline”对话框,如图13所示。
图13“Inline”对话框
单击确定按钮,Eclipse将会用方法实现的部分替换引用的部分,即当前不采用方法调用的方式进行操作。
也可以选择“Allinvocations”和“Deletemethoddeclaration”,Eclipse会替换掉所有引用方法的位置,并且删除方法。
Inline会用方法的实现部分替换所有调用方法的地方。
2.ExtractMethod
alt+shift+m
“ExtractMethod”重构和“Inline”重构相反,它能够从冗长的方法中提取小的方法,把大的方法分解成多个小方法来实现,通过此重构能够使代码看上去更简单漂亮,也很大程度上提高代码的复用性。
可以选择要提取方法的代码,在Refactor菜单中选择“ExtractMe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 Eclipse 进行 java 代码 资料