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

2014-11-23 21:35:10 · 作者: · 浏览: 18
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下创建myrefactor_1文件夹,并将原myrefactor文件夹下的Java文件移到myrefactor_1文件夹下。

   同步该包所有类的引用代码,如将某类的myrefactor.Cat c = new myrefactor.Cat()更改为myrefactor_1.Cat c = new myrefactor_1.Cat()。

  在包中任何类中对包名进行更名重构,包中所有类的包名都一起更改。如果你只希望更改某个类的包名而保持包中其他类的包声明不变,则你可以通过ErrorInsight到达这个目的。假设包myrefactor中包括4 个类:Creature、Animal、Cat、Horse,你只希望将Horse的包名改为myrefactor_1,则你可以打开Horse.java,将光标置于类名定义外:Ctrl+Shift+R->Move Class,弹出如下的对话框:

<script type="text/java script">BAIDU_CLB_fillSlot("771048");
点击复制链接 与好友分享! 回本站首页
<script> function copyToClipBoard(){ var clipBoardContent=document.title + '\r\n' + document.location; clipBoardContent+='\r\n'; window.clipboardData.setData("Text",clipBoardContent); alert("恭喜您!复制成功"); }
分享到: 更多
<script type="text/java script" id="bdshare_js" data="type=tools&uid=12732"> <script type="text/java script" id="bdshell_js"> <script type="text/java script"> var bds_config = {'snsKey':{'tsina':'2386826374','tqq':'5e544a8fdea646c5a5f3967871346eb8'}}; document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js cdnversion=" + Math.ceil(new Date()/3600000)