将子类中相同的属性和方法(行为)抽取到父类中,没能在父类中给出具体的实现,像这种就可以定义为抽象方法。
注:如果一个类中有抽象方法,那么这个类就必须定义为抽象方法。(但抽象类不一定有抽象方法,注意两者之间不要混淆。)
抽象类特点:
①抽象类无法创建对象。(但是可以被实例化的,因为子类继承了父类,在子类实例化是过程中是要先实例化父类对象)
按照嵌套方式来理解,就是大容器分为两部分,一部分为父类,一部分为子类。只是父类会先实例化。
②抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类。(因为方法的使用是在类,)
③子类继承抽象类要么重写所有抽象方法,要么子类也必须定义为抽象类。
抽象类和普通类的区别:
抽象类和普通类相比,可以说是有得有失。
有得:得到定义抽象方法的能力。
有失:失去创建对象的能力。 除此之外,普通类有的,抽象类都具备。
抽象类创建构造方法例子:
父类:
子类:
测试类;