帮助文档中说:抽象类AbstractAction,开发人员只需为此抽象类创建子类并定义 actionPerformed 方法即可。这句话说明:此抽象类中只有actionPerformed 方法是抽象方法,对吧,我的理解没错吧?帮助文档中还说:所有已实现的接口中有 
ActionListener接口。而actionPerformed 方法又是ActionListener接口中的方法,这难道不是说actionPerformed 方法已经被实现了吗?
如果是这样,难道不是自相矛盾吗?究竟actionPerformed 方法是不是抽象的呢?

解决方案 »

  1.   

    看一下这个例子,是否能明白?
    // Main.java
    interface IHello
    {
        void print(String info);
    }abstract class CHello implements IHello
    {
        abstract public void print(String info);
    }class Hello extends CHello
    {
        public void print(String info)
        {
             System.out.println(info);
        }
    }public class Main {
        public static void main(String[] args) {
            Hello h = new Hello();
            h.print("Hello");
        } 
    }
      

  2.   

    在AbstractAction中是抽象的
    在Actionlistener中被实现了(就不是抽象的了)
      

  3.   

    1楼的回答只有例子,没有解释,不太好理解啊。2楼的说:在AbstractAction中是抽象的(这个毫无疑问),在Actionlistener中被实现了(是不是胡说八道啊?难道你不知道Actionlistener是个接口吗?在接口中被实现?有没有搞错!?)
    其实还是概念的问题。在张孝祥的JAVA就业培训教程中找到了这样一句话:实现一个接口就是要实现该接口中的所有方法(抽象类除外)。就是这一句抽象类除外,说明抽象类实现的接口,并不一定实现该接口中的所有方法。我想是这样吧。