概述:
多态是对象的多种形态;
多态中成员访问特点
成员变量:编译看左边,执行看左边
成员方法:编译看左边,执行看右边
5
父类引用指向子类对象:就称为多态,
等号左边也就是栈中的父类引用;指向的是右边的堆中实际的子类对象
a可以多种状态,可以是猫,可以是狗,可以是多个东西
Animal a=new Cat();
Animal b=new Dog();
Animal a0=new Animal();
抽象类:
抽象类和抽象方法必须要用abstract关键字进行修饰。如下:
public abstract class 类名();
public abstract void 方法名();
1、抽象类中不一定包含抽象方法、但是有抽象方法的类,一定是抽象类;
2、抽象类的子类:
不然是需要重写所有的抽象方法;或者是一个抽象类
3、抽象方法的话,就是没有大括号里面的具体内容,这些需要后续子类去继承父类的时候去重写对应的具体方法
为什么用抽象类:
使用抽象类的话,比如我们在做一个系统的时候,我们将一些共有的类、方法定义为父类时,每个类的话,他们对应的具体方法表象都不一样,可以通过抽象类来定义,后续各类去继承时,强制去进行重写对应的方法,这样就会避免出现遗漏的情况