1.方法覆盖条件
    条件一:两个类必须要有继承关系;
    条件二:重写之后和之前的方法具有相同的返回值类型,相同的方法名,相同的形参列表。
    条件三:访问权限不能更低可以更高
    条件四:重写之后的方法不能比之前的方法抛出更多的异常,可以更少。
    2.注意事项
    注意一:方法覆盖只是针对于方法,和属性无关;
    注意二:私有方法无法覆盖;
    注意三:构造方法不能被继承,所以构造方法也不能被覆盖;
    注意四:方法覆盖只是针对于实例方法,静态方法覆盖没有意义;
    3.多态的基础语法
    向上转型:子—-》父
    向下转型:父—-》子
    注意:java中允许向上转型也允许向下转型,两种类型间必须有继承关系;
    4.instanceof
    第一:instanceof可以在运行阶段动态判定引用指向的对象的类型;
    第二:instanceof的语法(引用instanceof类型)
    第三:instanceof运算符的运算结果只能是true或false
    第四:c是一个引用,c变量保存了内存地址指向了堆中的对象;
    假设(c instanceof Cat)为true表示:
    c引用指向的堆内存中的java对象是一个cat
    假设(c instanceof Cat)为false表示:
    c引用指向的堆内存中的java对象不是一个cat