前面的代理设计模式用到了多态所以就去学习巩固了下多态知识,稍微了解了之后,在写这篇笔记博客的时候突然想到一个问题,
为什么要用多态(不知道)?于是我百度查:为了让程序可以选择多个运行状态,增强软件的灵活性和扩展性。额,???喵喵喵?看了心里也清楚,但是想到如果面试官问我,我回答这个或者别的百度的,我感觉有些奇怪,可能还是没有透彻的理解多态把。
多态:同一种事物的多种形态什么时候使用向上转型,向下转型?
答:当面对一些共性类型的时候可以采用向上转型,提高扩展性,当想要去用子类的特有方法时,会有向下转型,但向下转型存在风险
容易发生ClassCastException。只要转换类型和对象类型不匹配就会发生。
先来个入门的多态代码小项目把,可能都见过的小猫小狗吃东西
首先定义一个Animal类,动物能干什么,都得吃东西是吧,那就定义一个eat方法
1 package deep.demo1; 2 3 /** 4 * 定义一个动物类 5 * @author DeepSleeping 6 * 7 */ 8 public class Animal { 9 10 public void eat(){ 11 System.out.println("动物在吃东西"); 12 } 13 }