We know that when we implemnt an interface we should implement
all the methods in the interface. It also does in the "inner
class" when we use "inner class" to implemnet the interface or
you will get error message that force you to declare "inner
class" as abstract class.
But, now i was confused by following example
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class AdapterSpot extends
Applet //no implements clause
{
private Point clickPoint = null;
private static final int RADIUS = 7;
public void init() {
addMouseListener(new MyMouseAdapter());
}
public void paint(Graphics g) {
g.drawRect(0, 0, getSize().width - 1,
getSize().height - 1);
if (clickPoint != null)
g.fillOval(clickPoint.x-RADIUS,
clickPoint.y-RADIUS,
RADIUS*2, RADIUS*2);
}
class MyMouseAdapter extends MouseAdapter {
public void mousePressed(MouseEvent event) {
clickPoint = event.getPoint();
repaint();
}
}
/* no empty methods! */
}
Question:
Hence, MouseAdapter is an "interface" including five
methods,but, why MyMouseAdapter can ONLY implement mousePressed
mdthod without other methods and work
successfuly???
thax.... ccchang