2011-07-18 6 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氏によれば、エラーが発生する可能性が最も高いと言われています。特に型が互いに参照するか、フィールド/メソッドが等しい(等号()、hashCode()、serialVersionUID)の場合 – unR

+1

申し訳ありませんが、私の悪いです。これは簡単な場合に必要なツールです。私が与えたもののような場合は、単純にコードをマージし、重複について警告します。あなたは生きて学ぶ:D –

関連する問題