快速业务通道

探索Eclipse JDT中的重构功能 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

探索Eclipse JDT中的重构功能

时间:2011-04-09 IBM Prashant Deva

Eclipse 中的重构功能使其成为了一个现代的 Java 集成开发环境 (IDE),而不再是一个 普通的文本编辑器。使用重构,您可以轻松更改您的代码,而不必担心对别处造成破坏。有 了重构,您可以只关注于所编写代码的功能,而不必分心去考虑代码的外观如何,因为之后 您可以使用重构工具来快捷地将代码变成整洁而高度模块化的代码。本文将向您介绍如何使 用 Eclipse 中的一些功能强大的重构函数。

重构类型

重命名

Rename 应该是 Eclipse 中重常用的重构。利用这个重构,可以对变量、类、方法、包、 文件夹及几乎任何的 Java 标识符进行重命名。当重命名某标识符时,对该标识符的所有引 用也将被重命名。调用 Rename 重构的快捷方式是 Alt+Shift+R。当在 Eclipse 编辑器中对 某标识符调用这个快捷方式时,在此编辑器中会出现一个小对话框,可以在这个对话框中修 改这个标识符的名字。在按下 Enter 键时,所有对该标识符的引用也将被相应更改。

Move

使用 Move,可以将一个类从一个包移动到另一个包。这个类被物理地移动到目的包所对 应的文件夹中,并且对这个类的所有引用也被更改为指向新的包。

如果将一个类拖放到 Package Explorer 视图中的一个新包中,这个重构将会自动发生。

Extract Local Variable

使用 Extract Local Variable 重构,可以将一个 Java 表达式的结果分配给一个新的本 地变量。这个重构的一个用途就是通过将一个复杂的 Java 表达式分成多行来简化该表达式 。或者,在编辑代码时,先键入此表达式并使用这种重构自动创建一个新本地变量来指定表 达式的结果。当返回值的类型很复杂时,这个重构将很有用,因为变量的类型是自动生成的 。

此重构可以从编辑器调用。在键入想要将其分配给某变量的表达式后,按下 Ctrl+1 并选 择 Assign statement to a local variable。这样一个具有适当类型的新变量就创建好了。

Extract Constant

Extract Constant 重构可以将代码中的任何数字或字符串文字转换成一个静态终态字段 (final field)。在重构后,所有对这个类中的数字或字符串文字的使用都将指向该字段, 而不是指向数字或字符串文字本身。这样,在一个位置(字段的值)就可以实现对所有数字 或字符串文字的修改,再也无需在整篇代码中执行查询和替代了。

要使用这个重构,请选择编辑器中的数字或字符串文字,然后按下 Ctrl+1 并选择 Extract to Constant。

Convert Local Variable to Field

正如其名称所示,这个 Convert Local Variable to Field 重构能够获取一个本地变量 并将这个变量转换为此类的一个私有字段。此后,所有对这个本地变量的引用也将指向该字 段。

要使用这个重构,请选择一个本地变量,然后按下 Ctrl+1 并选择 Convert Local Variable to Field。

Convert Anonymous Class to Nested

Convert Anonymous Class to Nested 重构能够接受一个匿名类并将其转换为最初包含这 个匿名类的方法的一个嵌套类。

要使用这个重构,请将光标放入这个匿名类并从菜单中选择 Refactor > Convert Anonymous Class to Nested。这时会出现一个对话框,要求输入新类的名称。此外,还可以 设置类的属性,比如指定对这个类的访问是公共的、受保护的、私有的还是默认的。也可以 指定这个类是终态的、静态的还是两者都是。

例如,清单 1 所示的代码使用一个匿名类创建了一个 Thread Factory。

清单 1. 在执行 Convert Anonymous Class to Nested 重构前

void createPool() {   threadPool = Executors.newFixedThreadPool(1, new ThreadFactory()   {    @Override    public Thread newThread(Runnable r)    {    Thre

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号