Java 在Eclipse中提取类
这一定是可能的,但我在Eclipse中无法理解。我有Java 在Eclipse中提取类,java,eclipse,Java,Eclipse,这一定是可能的,但我在Eclipse中无法理解。我有 /** ClassA.java */ class A { ... } class B { ... } 我想选择B类并提取到它自己的文件中,这样我可以得到: /** ClassA.java */ class A { ... } 及 如何在Eclipse中实现这一点?如果没有特定的函数,那么创建新类,复制并粘贴B的内容,然后在两个文件(或至少是A.java)上按CTRL-SHIFT-O来清除导入就可以了 这不是一件很常见的事情,
/** ClassA.java */
class A {
...
}
class B {
...
}
我想选择B类并提取到它自己的文件中,这样我可以得到:
/** ClassA.java */
class A {
...
}
及
如何在Eclipse中实现这一点?如果没有特定的函数,那么创建新类,复制并粘贴B的内容,然后在两个文件(或至少是A.java)上按CTRL-SHIFT-O来清除导入就可以了 这不是一件很常见的事情,手工操作也很容易
编辑:您还可以创建B.java,然后在A.java中使用重构->移动B将其移动到B.java。当我这样做时,它似乎没有复制到导入上,而当我手动复制和粘贴时,它会自动抓取导入。据我所知,没有任何功能。您必须创建一个java文件,并将该类剪切粘贴到新文件中。修复导入和包声明名称(如果需要)
编辑最好的方法是:只需创建一个空白文件
B.java
,返回a.java
,突出显示B.java
,然后右键单击并选择重构->Move
(Alt+Shift+V
)。它将把类B移动到B.java
我已经测试过了,它可以工作了。如果需要,您可能需要管理导入。在我的Eclipse(3.6-Helios SR1)中,我突出显示类型名称(B
),然后右键单击弹出菜单,然后选择重构将类型移动到新文件…
编辑:在早期版本中,它被称为“将成员类型转换为顶级”,但已被更新,以处理更多的成员类型:
将类型移动到新文件重构。
将成员类型转换为顶级
重构已重命名为移动
键入新文件,现在允许任何
要移动的文件中的辅助类型
保存到它自己的文件中。行动
继续适用于成员类型
这就是您的工作方式(在Eclipse3.5中工作):
选择要提取的代码:
/** ClassB.java */
class B {
...
}
削减
右键单击要放入的包
选择粘贴。(然后根据需要组织导入。)
将插入符号放在类B中的某个位置(可能必须在类名中)。选择Refactor->Move type to new File
(这是Eclipse3.6中的操作名称。我相信在早期版本中,它是将成员类型移动到顶层的
)
参考资料:
嗯,我想知道是什么插件提供了这种功能。我的股票安装中没有这个选项。真有趣,我没有这个选项。你有什么版本的Eclipse?它在3.6中被称为,它以前有一个不同的名称。后续:似乎是Eclipse 3.6中的一个新功能:@Ztyx,啊,是的,它不仅仅是从“将成员类型移动到顶级…”重命名,因为在你的例子中,它不是你要移动的成员类型。这真的是一个新功能,很有趣。尽管这很简单,但你会认为有捷径可走。似乎是一个普通的手术。这是一个普通的手术。因此IDEA自古以来就支持它。我喜欢它,它避免了创建文件。奇怪的是,Eclipse如此不一致,以至于何时正确地复制了导入。如果手动粘贴到该文件中,则随后将进行任何导入。在这里,它们没有被复制。我建议使用剪切粘贴选项,但我不知道第3步和第4步。谢谢你…奇怪的是,它没有像Alt-Shift-M那样的快速命令。但是,嘿,每天学点新东西。谢谢我试着把B班从A班换下来,但一直没有成功,所以我把它从我的解决方案中排除了。
/** ClassB.java */
class B {
...
}