The Convert Abstract Method to Interface refactoring allows you to convert an abstract class to an interface. This is especially useful when you want a class to inherit from more than one abstract class, thus you need to convert one of them to an interface. The reverse functionality is also possible with the Convert Interface to Abstract Class refactoring.
To turn a suitable abstract class into an interface, do either of the following:
If no conflicts are present, the abstract class is converted into an interface of the same name. At the same time, modifiers of methods are changed accordingly.
Consider the following example:

After we convert FormatterClass to an interface, the code looks as follows:

You can change the name of the newly formed interface using the Rename Type refactoring.
Note: A number of possible conflicts may occur which can affect the use of Convert Abstract Method to Interface refactoring. Some of them can be circumvented while others will prevent the refactoring from being applied.