读书人

java学习小结(抽象类)

发布时间: 2012-12-27 10:17:09 作者: rapoo

java学习总结(抽象类)

抽象类常用作“适配器”,因为无论一个接口中定义了多少方法,子类都必须实现。

import java.awt.event.MouseEvent;import java.awt.event.MouseListener;public class Mouse implements MouseListener { @Override public void mouseClicked(MouseEvent e) {  // TODO Auto-generated method stub   } @Override public void mouseEntered(MouseEvent e) {  // TODO Auto-generated method stub   } @Override public void mouseExited(MouseEvent e) {  // TODO Auto-generated method stub   } @Override public void mousePressed(MouseEvent e) {  // TODO Auto-generated method stub   } @Override public void mouseReleased(MouseEvent e) {  // TODO Auto-generated method stub   }}

?以上是用在类Mouse实现(继承)接口MouseListener(java.awt.event.MouseListener),在子类Mouse中必须重写以上所有方法。为此,Java的设计者提供了一个抽象类:java.awt.event.Adapter,这个类实现了所有鼠标监听器接口(MouseListener,MouseWheelListener,MouseMotionListener),只是这个类定义为抽象类(abstract)。如下是Java的设计者已经写好的:

public abstract class MouseAdapter implements MouseListener, MouseWheelListener, MouseMotionListener {    /**     * {@inheritDoc}     */    public void mouseClicked(MouseEvent e) {}    /**     * {@inheritDoc}     */    public void mousePressed(MouseEvent e) {}    /**     * {@inheritDoc}     */    public void mouseReleased(MouseEvent e) {}    /**     * {@inheritDoc}     */    public void mouseEntered(MouseEvent e) {}    /**     * {@inheritDoc}     */    public void mouseExited(MouseEvent e) {}    /**     * {@inheritDoc}     * @since 1.6     */    public void mouseWheelMoved(MouseWheelEvent e){}    /**     * {@inheritDoc}     * @since 1.6     */    public void mouseDragged(MouseEvent e){}    /**     * {@inheritDoc}     * @since 1.6     */    public void mouseMoved(MouseEvent e){}}

?这样我们就可以根据自己的需要,选择性地重写java.awt.event.MouseAdapter这个抽象类中的方法。

读书人网 >编程

热点推荐