interface MouseListener{ // インターフェース=(抽象メソッドしか持てない抽象クラス)とほとんど同じ
  public abstract void mouseClicked();
  public abstract void mousePressed();
  public abstract void mouseReleased();
  public abstract void mouseEntered();
  public abstract void mouseExited();
}

abstract class MouseAdapter implements MouseListener{ // あえて抽象メソッドを持たない抽象クラス
  public void mouseClicked(){};
  public void mousePressed(){};
  public void mouseReleased(){};
  public void mouseEntered(){};
  public void mouseExited(){};
}

class myMouseAdapter extends MouseAdapter{  // 普通のクラス
  public void mouseClicked(MouseEvent e){ // 他4つはオーバーロードしてない
    pt = e.getPoint();
    repaint();
  }
}

こんなかんじですか?