abstract class WindowAdapter implements Window{
public void open(){} ; // 打开
public void close(){} ; // 关闭
public void activated(){} ; // 窗口活动
public void iconified(){} ; // 窗口最小化
public void deiconified(){};// 窗口恢复大小
}又麻烦大家了。(上面是我在一本书上看到的)
问:上面的类WindowAdapter 是“抽象”的吗?
疑问:
1. 形如:fun();的称是抽象方法,
2.但是:fun(){};好像不是抽象方法吧。
3.抽象方法好像必须用abstract标识吧。

解决方案 »

  1.   

    是的
    前面的abstract的话就是抽象
    方法前面有abstract是抽象方法,类前面有abstract是抽象类
    如果有抽象方法的类,类前面一定要abstract声明为抽象类
    抽象类里面可以没有抽象方法,这样的话这个类就是可以被继承,就像模版一样
    所以要搞清楚区别
      

  2.   

    WindowAdapter 不是抽象类。其实,在设计模式里面,所有的适配器类都不是抽象的,它只是存在空方法或者默认执行的步骤而已。从语法角度上来讲,没有 abstract 关键字的方法,就不是抽象方法;没有 abstract 关键字的类,就不是抽象类(接口除外)。