目录
多态的概念
多态:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。
eg:比如说 动物吃东西这件事 猫吃鱼 狗吃骨头(都是去完成吃东西这件事,但是不同的动物吃的东西不一样,从而产生不同的状态)
简而言之:同一件事情,发生在不同对象身上,就会产生不同的结果
多态的前提
1.必须是在继承下完成的
2.必须对父类的方法进行重写
3.向上转型
接下来我们通过案例分析来对这三个前提进行理解吧
典型案例
我们先看一个例子吧
结果如下
一个一个进行分析
继 承 和 重 写
重写要点
1.方法名称相同
2.参数列表相同
3.返回值相同
关于这里的@Override是怎么回事呢,进行以下说明
这里我只打了一个d,就出现了父类的draw方法,直接点击会出现向上面一样的效果
然后把这个给删掉,打上自己想要的东西
向 上 转 型
向上转型过后,此时通过父类的引用 只能访问到父类的成员,不能再访问到子类特有的成员了
我们介绍以下三种方式让我们进行 向上转型
1.直接赋值
2. 通过传参的方式达到向上转型
3.通过返回值的方式
总结:
要实现多态就要满足下面三个前提缺一不可,要满足继承,要向上转型,要对父类的方法进行重写,然后多多练习,熟能生巧。