关于java:Eclipse可以将类文件中的第二个类提取到自己的文件中吗

关于java:Eclipse可以将类文件中的第二个类提取到自己的文件中吗

Can eclipse extract a second class in class file to its own file

我经常首先通过在正在处理的类中创建一个内部类来重构代码-完成后,将整个内容移到新的类文件中。这使得将代码重构到新类中非常容易,因为A)我只处理一个文件,B)在我对名称不陌生之前,我不会创建新文件(有时最终会作为一个以上的类)。

Eclipse有什么方法可以帮助我完成最后的动作?我应该能够告诉它我想要该类的包,它可以从类名中找出文件名,并从包中找出目录。

这似乎是微不足道的重构,而且确实很明显,但是我无法弄清楚击键/手势/实现它的方式。我尝试过拖动,菜单,上下文菜单和浏览键盘快捷键。

有人知道这个吗?

[edit]这些已经是此文件中的"顶级"类,而不是内部类,并且"移动"似乎不想为我创建一个新类。这是我通常很难做到的方式-涉及外出,创建一个空类,返回并移动。我想一步完成整个事情。


对不起,我之前给错了答案。 我重新检查,并没有完全想要您想要。 我还是在3.4中为您找到了解决方案。

突出显示该类,执行CTRL-C复制或剪切CTRL-X,单击您希望该类进入的包,然后粘贴CTRL-V。 Eclipse将自动为您生成类。

将会员类型转换为顶级功能不是很有效。 这样做将创建外部类的字段,并生成一个将外部类作为参数的构造函数。


在Eclipse 3.6中,您可以执行以下操作:重构->将类型移动到新文件


对于IntelliJ IDEA / Android Studio:
重构->移动->将内部类MyInnerClass移到更高级别


右键单击类名称(在源代码中),然后选择"重构"->"将成员类型转换为顶级"。 但是,它不允许您选择包。


可以通过2种重构来完成:

  • Convert Member type to top level

  • Move


  • 推荐阅读

      linux命令检清空文件?

      linux命令检清空文件?,系统,不了,名称,环境,文件夹,命令,文件,目录,指令,终

      更新文件命令linux?

      更新文件命令linux?,工作,系统,地址,信息,时间,命令,目录,基础,标准,网络,lin

      linux下读取文件命令?

      linux下读取文件命令?,系统,工作,地址,数字,图片,信息,网络,命令,文件,一致,l

      linux改文件夹名命令?

      linux改文件夹名命令?,名字,软件,命令,文件,系统,目录,目标,文件名,源文件,

      linux建文件命令格式?

      linux建文件命令格式?,系统,名字,名称,时间,密码,命令,文件,文件夹,不了,数

      下载文件的命令linux?

      下载文件的命令linux?,平台,工具,服务,密码,软件,网络,位置,代理,手机,工作,

      linux命令文件传输?

      linux命令文件传输?,系统,数据,命令,文件,基本知识,源文件,目录,目标,功能,

      linux文件全选命令?

      linux文件全选命令?,电脑,系统,环境,代码,平台,服务,快捷键,文件,命令,权限,l

      linux浏览文件类命令?

      linux浏览文件类命令?,系统,信息,数据,情况,命令,标准,时间,文件,概念,管理,

      linux打包文件夹命令?

      linux打包文件夹命令?,系统,工具,管理,图片,文件,命令,位置,软件,目录,格式,l

      linux中统计文件命令?

      linux中统计文件命令?,系统,信息,数据,情况,工作,文件,时间,档案,标准,名称,L

      linux导入文件夹命令?

      linux导入文件夹命令?,系统,文件,信息,名称,工作,命令,文件夹,目录,发行,位

      linux重名名文件命令?

      linux重名名文件命令?,图片,名称,名字,文件,命令,位置,代码,软件,系统,文件

      linux的建立文件命令?

      linux的建立文件命令?,名称,系统,时间,名字,命令,文件夹,位置,密码,不了,文

      linux06文件命令?

      linux06文件命令?,数字,系统,工作,第一,名字,信息,管理,文件,目录,命令,linux

      linux将文件备份命令?

      linux将文件备份命令?,系统,密码,设备,软件,通讯,较大,认证,服务,数据,文件,L

      linux扩展文件命令?

      linux扩展文件命令?,工作,地址,系统,信息,命令,目录,管理,情况,文件,标准,Lin

      linux命令新增文件夹?

      linux命令新增文件夹?,系统,名字,首次,名称,新增,文件,命令,文件夹,地址,密

      linux推送文件命令?

      linux推送文件命令?,地址,系统,情况,工作,命令,文件,电脑,密码,信息,目录,Lin