抽象方法的意义
抽象类的意义可以用三句话来概括:
为其他子类提供一个公共的类型
封装子类中重复定义的内容
定义抽象方法,子类虽然有不同的实现,但是定义时一致的
抽象类的特点
1:抽象类不能直接创建对象;
2:抽象类中可以不写抽象方法,在某些特殊的设计模式(适配器模式)中,通常会采用一个没有抽象方法的抽象类,此时仅仅是为了不让外界创建该抽象类的对象;
3:如果一个子类继承抽象类的时候,不能全部重写抽象方法,那么为了语法问题,只能让该子类继续抽象;
4:抽象类也是类,因此在继承时,也是单继承;
抽象类相关问题:
1:抽象类一定是父类吗?
答:是,抽象类是根据普通类,不断的向上抽取共性的内容,而的出来的类;
(如果抽象类没有子类,那么没有就无法直接使用抽象类中的成员方法和成员变量了)
2:抽象类一定有抽象方法吗?
答:不一定,在某些特殊的设计模式(适配器模式)中,通常会采用一个没有抽象方法的抽象类,此时仅仅是为了不让外界创建该抽象类的对象;
1.抽象类中可以定义构造器
2.可以有抽象方法和具体方法
3.接口中的成员全都是 public 的
4.抽象类中可以定义成员变量
5.有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法
6.抽象类中可以包含静态方法
7.一个类只能继承一个抽象类