快速业务通道

JBuilder2005实现重构之重命名 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
 } 17.  System.out.println("总价为:" + getAccountPrice(amount , account)) ; 18. }

假设我们需要为getAccountPrice()新增一个price入参,并将amount和account参数的位置对调,将光标置于getAccountPrice()方法名处:Ctrl+Shift+R->Change Parameters of “getAccountPrice”调出如下所示的对话框:

JBuilder2005实现重构之重命名 - 编程入门网

图8 方法参数重构对话框

JBuilder2005实现重构之重命名(3)

时间:2010-03-20

按以下步骤完成重构:

1.点选参数列表中的amount参数,点击Move Down将amount参数调到account之后。

2.点击对话框的Add...按钮弹出Add New Parameter的对话框,如下图所示:

JBuilder2005实现重构之重命名 - 编程入门网

图9

新增参数对话框

·Type:参数类型,下拉框中列出了基础数据类型及String和Object对象类型,你也可以通过Type后的…按钮选择其他的对象类型。这里我们选择double类型。

·Name:入参的名称,设置为price。

·Default value:默认值,很有必要,因为如果当前的方法已经被调用,则调用处用这个默认的值为新增的入参赋值,这里我们填入1000.0。

你还可以定义数组类型的入参,通过Dimensions指定数组的维度,默认为一维数组。 点击OK返回重构对话框。

3.在重构对话框中点击OK完成方法入参的重构,如下图所示:

代码清单 2 入参调整后的代码

1. private double getAccountPrice(double account, int amount, double price) 2. { 3.  return amount * price * account ; 4. } 5. public void printAccountPrice(int amount) 6. { 7.  double account ; 8.  if(amount <= 100) { 9.   account = 1 ; 10.  } 11.  else if(amount <= 500) { 12.   account = 0.9 ; 13.  } 14.  else { 15.   account = 0.8 ; 16.  } 17.  System.out.println("总价为:" + getAccountPrice(account, amount, 1000.0)) ; 18. }

JBuilder搜索所有引用原getAccountPrice()法的地方,完成入参顺序的调整,用默认值为新增的入参赋值,如第17行引用了getAccountPrice(),重构后account和amount对调了顺序,并新增了一个1000.0入参值。

4、类重命名

光标移到类名上,Ctrl+Shift+R->Rename Class调出类重命名的重构对话框,如下图所示:

JBuilder2005实现重构之重命名 - 编程入门网

图10 类重命名重构

JBuilder2005实现重构之重命名(4)

时间:2010-03-20

在这里,我们将myrefactor.Cat类名更名为PersianCat,JBuilder将完成以下的事情:

·将类名更改为PersianCat

·类的所有构造函数名更名为PersianCat

·类Java文件从Cat.java更名为PersianCat.java

·实例化类的代码相应,如Cat c = new Cat()将更改为PersianCat c = new PersianCat()。

在没有重构功能之前,更改类名是一项比较累人的差事,因为Java语法规定public类名必须和类Java文件名保持一致,类构造函数名也必须同类名一致,此外还需要和对值域或方法更名一样保证调用一起更改。所以手工对类进行更名是比较麻烦的,而通过重构功能更改类名则不费吹灰之力。

5、包重命名

如果通过手工操作,则包重命名比类重命名的难度更大,因为Java语言规定包名必须和文件目录保持一致,且包中可能会包括多个类,这些类被各自的调用者引用。用重构来完成包重命名将一并完成所有的事情。

要通过重构对包进行重命名时,如将包myrefactor更名为myrefactor_1,只需要打开包中的任何一个类Java文件,将光标移到包名myrefactor处:Ctrl+Shift+R->Rename Package调出包重命名对话框,如下图11所示。

按OK重构后,JBuilder将完成以下的事件:

·将包中所有类的包声明语句更名为package myrefactor_1;

·在<工作目录>\src下创建myrefacto

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号