代码之家  ›  专栏  ›  技术社区  ›  Ztyx

在Eclipse中提取类

  •  7
  • Ztyx  · 技术社区  · 15 年前

    这一定是可能的,但我只是在Eclipse中搞不懂。我有

    /** ClassA.java */
    class A {
      ...
    }
    
    class B {
      ...
    }
    

    /** ClassA.java */
    class A {
      ...
    }
    

    /** ClassB.java */
    class B {
      ...
    }
    

    在Eclipse中我该怎么做?

    5 回复  |  直到 15 年前
        1
  •  11
  •   aioobe    15 年前

    您就是这样做的(在Eclipse3.5中工作):

    1. 选择要提取的代码:

      /** ClassB.java */
      class B {
        ...
      }
      
    2. 右键单击要放入的包

    3. 组织导入 如果需要的话。)

        2
  •  6
  •   Bert F    15 年前

    在我的Eclipse(3.6-Helios SR1)中,我突出显示了类型名( B ),然后右键单击弹出菜单,然后选择 Refactor Move Type to New File ... .

    http://download.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-news-part2.html

    将类型移到新文件重构。

    将成员类型转换为顶级 键入新文件,现在允许 要移动的文件中的辅助类型 变成自己的档案。行动

        3
  •  1
  •   Mark Peters    15 年前

    如果没有特定的函数,则创建新类,复制并粘贴B的内容,然后点击 控制 - - 在这两个文件(或者至少是一个.java)上清除导入时应该这样做。

    这不是很常见的要求,而且很容易手动完成。

    编辑: 您还可以创建B.java,然后使用重构->在A.java中移动B,将其移动到B.java。当我这样做的时候,它似乎并没有复制导入,而当我手动复制和粘贴的时候,它会自动获取导入。

        4
  •  1
  •   Buhake Sindi Tesnep    15 年前

    我不知道有什么功能。您必须创建一个可选择的java文件,并将该类剪切粘贴到新文件中。修复导入和包声明名称(如果需要)。


    最好的方法是:创建一个 空白的 B.java ,返回到 A.java B、 爪哇 右键单击并选择 Refactor -> Move Alt+Shift+V 简而言之。它将把类B移到B.java。

        5
  •  0
  •   Sean Patrick Floyd    15 年前

    将插入符号放在B类中的某个位置(可能它必须在类名中)。选择 Refactor -> Move type to new File .

    (这是Eclipse3.6中的操作名。我相信以前的版本 Move member type to top level

    参考: