匿名を内部に変換
匿名を内部に変換リファクタリングでは、匿名クラスを名前付き内部クラスに変換できます。
リファクタリングする匿名クラス内にキャレットを配置します。
メインメニューまたは選択項目のコンテキストメニューから、
を選択します。開いたダイアログで、新しい内部クラスの名前と内部クラスのコンストラクターへのパラメーターとして使用される変数を指定します。クラスを静的にするかどうかを指定することもできます。
OK をクリックして内部クラスを作成します。
サンプル
前 | 後 |
---|---|
public class Class {
public Interface method() {
final int i = 0;
return new Interface() {
public int publicMethod() {
return i;}
};
}
}
|
public class Class {
public Interface method() {
final int i = 0;
return new MyInterfaceClass(i);
}
}
public class MyInterfaceClass implements Interface {
private final int
i;
public MyInterfaceClass(int i) {
this.i = i;
}
public int publicMethod() {
return
i;
}
}
|
匿名を内部に変換ダイアログ
このダイアログは、匿名を内部に変換リファクタリングを呼び出すと表示されます。
項目 | 説明 |
---|---|
クラス名 | ここで、新しい内部クラスの名前を指定します。 |
クラスを static にする | 新しいクラスを静的にするには、このオプションを使用します。 |
コンストラクターパラメーター | この領域では、内部クラスのコンストラクターへのパラメーターとして使用される変数を選択します。 |
上 / 下に移動 | これらのボタンを使用してパラメーターの順序を変更します。 |