Java_抽象类
2018-04-27 本文已影响0人
Ethan丶Xiao
使用abstract修饰的且没有方法体的方法叫抽象方法;
1):使用abstract修饰,方法没有方法体,留给子类去实现;
2):抽象方法不能使用private、static、final修饰;
3);抽象方法必须定义在抽象类或接口中;
一般的,会把abstract放在修饰符最前面,一看就知道是抽象方法
使用abstract修饰的类叫抽象类;
1):不能创建对象,即不能new一个抽象类;
2):抽象类可以包含普通方法,若一个类中包含了抽象方法,则该类必须是抽象类;抽象类是
有构造器的;
3):如果抽象类的子类没有实现、覆盖父类所有抽象方法,那么子类也得是抽象方法;
4):构造方法不能是私有的,否则不能有子类;
抽象类与普通类的区别
普通类的成员(字段、方法、构造器)抽象类全都有;
抽象类不能创建对象,可以包含抽象方法;
抽象类的意义
抽象类是不能创建实例,只能被当成父类来继承,抽象类体现的是一种模板模式的设计,抽象类作为多个子类的通用模板,从而避免了子类设计的 随意性;
模板方法设计模式:
在父类的一个方法中,定义一个总的方法骨架;而某一些步骤延迟到子类中,因为不同子类的实
现细节不同;模板方法使得子类在不改变算法结构的情况下,重新定义算法中的某个步骤;
抽象父类至少提供的方法:
1):模板方法,一种通用的处理方式,即模板(总体算法的骨架)
2):抽象方法:一个具体的业务功能实现,由子类完成;