抽象类-类-对象
对象:现实中真实存在的
类:对象与对象之间有共同特征,抽象形成类
抽象类:类与类之间有共同特征,抽象形成抽象类,无法实例化,无法创建对象,有构造方法用来被子类继承的。
抽象类语法:修饰符列表 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("猫在走");
}
}