In the above example, this is useless, however if you create an adapter to implement IListener ( class Adapter implements IListener ), it becomes a little more useful than you can than create an instance of the Adapter object, for example new Adapter() ;
Otherwise, the Adapter will remain an abstract class that cannot be created, or its children, until all methods defined in the interface have the correct implementation. An empty implementation is also a valid implementation.
source share