多态
接口
接口存在的两个意义
规则的定义
程序的扩展性
接口的定义和特点
接口用关键字interface来定义
public interface 接口名{}
接口不能实例化
接口和类之间是实现关系,通过implements关键字表示
public class 类名 implements 接口名{}
接口的子类(实现类)
要不重写接口中的所有抽象方法
要么是抽象类
接口中成员的特点
成员变量
只能是常量
默认修饰符:public static final
构造方法
没有
成员方法
只能适合抽象方法
默认修饰符:public abstract
多态
多态的前提
继承\实现关系
要有方法重写
要有父类引用,指向子类对象
成员访问特点
构造方法:和继承一样,子类通过super访问父类构造方法
成员变量:编译看左边(父类),执行看左边(父类)
成员方法:编译看左边(父类),执行看右边(子类)
多态的好处和弊端
好处:提高了程序的扩展性
体现:定义方法的时候,使用父类作为参数,该方法就可以接收父类的任意子类对象
弊端:不能使用子类特有的功能
多态中的转型
向上转型
从子到父
父类引用指向子类对象
向下转型
从父到子
父类引用转为子类对象