多态存在要有三个必要条件:
要有继承,要有方法重写,父类引用指向子类对象
A instanxeof B用来判断A对象和B对象是否是同一种类型,是返回true,否则返回false;
向上转型:子类转成父类。(父类出面,而子类做事)。
向下转型:父类再转成原有的子类。(强制,注意类型转换异常)。
抽象类:
是一种模板模式。抽象类为所有子类提供了一个通用模板,子类可以在这个模板基础上进行扩展。
通过抽象类,可以避免子类设计的随意性,通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。
abstract:修饰类,类是变成抽象类。
修饰方法:方法编程变成抽象方法,抽象方法的意义是为了让子类重写,没有方法体;
抽象类的定义:一个被abstract修饰的类就是抽象类。
包含一个抽象方法的类是抽象类。(抽象类不一定会有抽象方法)。