2011-07-18 29 views

回答

6

我不这么认为。这不是那么简单的任务。你的例子很简单,但考虑一下:

class A { 
    private int a; 
    public void foo(){ 
     System.out.println(a); 
    } 
} 

class AA extends A { 
    private int a; //its not the same 'a'!! 
    public void foo(){ //ok, we override, so we can 'overwrite', but... 
     super.foo(); //... what with this? 
     System.out.println(a); 
    } 
} 

正如你所看到的,它很难自动化。如果这个层次结构中的某个类扩展了一些lib类,那么你没有源代码呢​​? 所以,合并非常困难,而且非常糟糕,这就是为什么我不认为有人写这样的工具。

+0

我刚找到Refactor-> Push Down/Push Up。 – unR

+5

**重构 - >上推/下推** 上下移动字段和方法的类型层次结构。它也更新发生。但正如Adam Jurczyk所说,这很可能会导致一些错误。特别是当类型相互引用或具有indentical字段/方法(equals(),hashCode(),serialVersionUID) – unR

+1

对不起,我的不好。对于简单的情况,这是您需要的工具。对于像我这样的情况,它简单地合并代码并警告重叠。嘿,你活着学习:D –

相关问题