why to create a class with empty methods for example `MouseAdapter` class has various methods which is defined empty. And instead we can use it as interface and not as class 

Code of `MouseAdapter` is as follows:

```
public abstract class MouseAdapter implements MouseListener{
    public MouseAdapter(){}
    public void mouseClicked(MouseEvent event){}
    public void mousePressed(MouseEvent event){}
    public void mouseReleased(MouseEvent event){}
    public void mouseEntered(MouseEvent event){}
    public void mouseExited(MouseEvent event){}
}

```

As any of above methods are not defined what is the use of these empty methods and why not we shall use it as interface. My question is not only for `MouseAdapter` class but for all classes which has empty methods.