The Convert Anonymous to Inner refactoring allows you to convert an anonymous class into a named inner class.
Example
| Before | After |
|---|---|
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; } } |
- Place the cursor within the anonymous class to be refactored.
- On the main menu, or on the context menu of the selection, choose . The Convert Anonymous To Inner dialog opens.
- In the Class name field specify the name for the new inner class.
- In the Constructor parameters area select the variables, that will be used as parameters to the inner class constructor.
- Click OK to create the inner class.