Example
| Before | After |
|---|---|
// File Class.java public class Class extends SuperClass { public void publicMethod() { ... } } // File SuperClass.java public abstract class SuperClass { public abstract void publicMethod(); public void hiddenMethod() { ... } } |
// File Class.java public class Class extends SuperClass { public void publicMethod() { ... } public void hiddenMethod() { ... } } // File SuperClass.java public abstract class SuperClass { public abstract void publicMethod(); } |
- In the editor open a class, whose members you need to push down.
- On the main menu, or on the context menu of the editor tab, choose . Push Members Down dialog box displays the list of members to be pushed down.
- In the Members to be pushed down area, select the members you want to move.
Note that the member at caret is already selected.
Note
If pushing a member might cause problems, you will be notified with red highlighting. It means that, if the situation is unattended, an error will emerge after refactoring. IntelliJ IDEA prompts you with a Problems Detected dialog, where you can opt to ignore or fix the problem.
- Select the Keep abstract check box to:
- Convert the original method to abstract, and move the original method body to the new method in subclass as an abstract method implementation, if the original method is non-abstract.
- Create the new abstract method in a subclass and the same abstract method in subclass/subinterface (with possible errors if the subclass is not abstract), if the pushed down methods are already abstract.
- When you push down abstract methods that have JavaDoc comments, specify to how treat them in the JavaDoc section.
- Preview and apply changes.

