抽象类-类-对象
对象:现实中真实存在的
类:对象与对象之间有共同特征,抽象形成类
抽象类:类与类之间有共同特征,抽象形成抽象类,无法实例化,无法创建对象,有构造方法用来被子类继承的。
抽象类语法:修饰符列表 abstract class 类名{类体}
抽象方法:没有实现,没有方法体的方法eg:public abstract void do();(所以子类必须重新)
抽象类可以没有抽象方法,但是抽象方法一定在抽象类中
重点!!!!!
子类不是抽象类,必须将继承过来的抽象方法进行覆盖/重写,也叫做“实现”。(子类是抽象类可以不用)
父类(抽象类):Animal 子类:Bird
Animal a=new Bird();这就是面向抽象编程,调用时a.xxx,a的类型是Animal是抽象的。
尽量面向抽象编程,不用面向具体编程,降低程序的耦合度,提高程序的扩展力
public class test01 { public static void main(String[] args) { Animal a=new Bird(); a.move(); Animal c=new Cat(); c.move(); } } abstract class Animal{ public abstract void move(); } class Bird extends Animal{ public void move(){ System.out.println("鸟在飞"); } } class Cat extends Animal{ public void move(){ System.out.println("猫在走"); } }