IntelliJ IDEA 13.1.0 Web Help

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;
    }
}
    
To inline a constructor
  1. Place the cursor within the anonymous class to be refactored.
  2. On the main menu, or on the context menu of the selection, choose Refactor | Convert Anonymous To Inner. The Convert Anonymous To Inner dialog opens.
  3. In the Class name field specify the name for the new inner class.
  4. In the Constructor parameters area select the variables, that will be used as parameters to the inner class constructor.
  5. Click OK to create the inner class.

See Also

Reference:

Web Resources: