向上转型,向下转型 ,子类 不允许 重写父类的静态方法

java 中的多态

同样的引用 ,但是实例化的具体对象不同(实例化对象对应的类相同的父类的子类) ,实例对象调用相同的方法,方法的具体的执行能力是不一样的

相同方法 具体实现是不同的

向上转型

用父类对象的引用 指向一个具体的子类实例 称为向上转型
也可以理解为将一个子类的对象转为父类的对象
向上转型为 隐式转型 自动的

在这里插入图片描述

向下转型(大人向小孩转 向下弯腰)

向下转型就是强转(必须强制转换)

子类的引用指向父类的具体的实例对象

使用 A instanceof B 判断 A 是不是具有B 的特征
也就是A 是不是 B 的 或者 B的子类的 实例对象。

子类 不允许 重写父类的静态方法

静态方法是属于这个类的属性,是类共有的属性。 不属于某个具体的实例对象 可以写与父类静态方法一模一样的方法,但是不能加 @Override

在这里插入图片描述
在这里插入图片描述

子类不能重写父类的静态方法:
出现向上转型:如果子类父类中定义有相同的静态方法
向上转型的 父类引用是不能访问到子类的同名静态方法的,两个方法冲突 只能调用父类的 同名父类方法

在这里插入图片描述
如果确实想调用子类同名的静态方法,需要将对象的引用进行向下转型 此时的引用就能够访问到 子类的同名静态方法

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42664961/article/details/86670133
今日推荐