リファクタリング・アクションの種類
リファクタリングを行うコンテキストに応じて、さまざまなリファクタリング・コマンドを選択することができます。
リファクタリング・コマンド
コンテキスト
|
使用可能なリファクタリング・コマンド
|
パッケージ
|
名前変更 (Rename)
|
クラス
|
名前変更 (Rename)
他のパッケージへの移動 (Move to another package)
|
メソッド
|
名前変更 (Rename)
パラメーターの名前変更 (Rename parameters)
|
コード
|
メソッドを抽出 (Extract Method)
|
エレメントの名前変更
エレメントの名前を変更すると、ワークベンチのリファクタリング・サポートにより、選択されているリソースの名前、
およびそのリソースへのすべての参照が変更されます。
-
パッケージ: 影響を受けるコンパイル単位のすべての import ステートメントを更新します。
-
コンパイル単位: コンパイル単位を名前変更すると、そのコンパイル単位と同じ名前を持つ
トップレベルの型の名前が更新されます (また、その型への参照もすべて更新されます)。たとえば、クラス
A が宣言されているコンパイル単位 A.java の名前を変更すると、
クラス A の名前が変更され、そのクラスへのすべての参照が更新されます。
-
クラス、フィールド、あるいはインターフェース: インターフェース、クラス、またはフィールドの
宣言をこれらが宣言されているコンパイル単位で変更すると、名前変更することができます。また、そのクラス、
フィールド、またはインターフェースへのすべての参照も更新することができます。
-
メソッド: インターフェースで宣言されているメソッドの名前を変更すると、そのメソッドの
抽象インプリメンテーションおよび非抽象インプリメンテーションであるメソッドの名前がすべて
変更されます (また、そのメソッドへのすべての参照が更新されます)。メソッドが宣言されているインターフェースのすべてのサブクラス内のそのような
メソッドは、すべて名前変更されます。
-
public、package visible、または protected として宣言されている非静的メソッドの名前を変更すると、
そのメソッドをオーバーライドするすべてのメソッドも名前変更され、それらのメソッドへのすべての参照も更新されます。
-
静的メソッド、つまり private メソッドを名前変更しても、オーバーライドができないため、メソッドへの参照のみが更新されます。
-
メソッドの宣言を、そのメソッドが宣言されているコンパイル単位で変更すると、そのメソッドを名前変更することが
できます。また、そのメソッドへのすべての参照も更新することができます。
メソッド・パラメーターの名前変更
メソッドの本体内のパラメーターの宣言およびそのパラメーターへのすべての参照を名前変更することで、そのメソッドの
パラメーターを名前変更することができます。メソッドのパラメーターとそれらパラメーターへのすべての参照を
名前変更するには、「パラメーターの名前変更 (Rename Parameters)」コマンドを使用します。
コンパイル単位の移動
コンパイル単位は、別のパッケージに移動することができます。インポートおよび参照は自動的に更新されます。
メソッドを抽出
メソッドを抽出すると、ワークベンチが既存のメソッド本体からコードの断片 (フラグメント) を除去して、
それに対応する新しいメソッドを作成し、古いメソッドから新しいメソッドへの呼び出しを追加します。
このフィーチャーは、長いメソッド、乱雑なメソッド、または非常に複雑なメソッドをクリーンアップするのに役立ちます。