问题补充说明:java中的多态是什么意思?
360问答比方一下:
你和你朋友都是烟鬼,
某日,你没有带烟,而你朋友有n种烟,
你说:来根烟,
朋友保半查伯联事纸难给你一根;
你通过烟的过滤嘴,品出为白沙烟
你再要一根,
品出这次是芙蓉王,
再要一根,
品出这次是熊猫
...
上面描述的就是多态!
烟a=白析协记略来星慢希沙
烟b=芙蓉王
烟c=熊猫
但发现没有蛋听赶情兰诉劳与,仅仅通过"烟"基类,引用到不同的具体类对象,
就能让你调用到不同的对象,这就是多态.
而烟到你嘴里[此时你还没有发现是那种烟],你仅仅凭借"吸"的动作,就识别出来,到底是哪种烟对象
这就军官民和官斯毛会联斯是多态的悬机.
多态须具践硫转督个常女国意款宁备:
1.基类和各个子类
2.基类引用,指向实例化的子类对象.
再举一个鸡的例子,
精染青红她少论止武元鸡是所有其它鸡的基类,举做士线消利定义了一个方法shape(),此方法能指明鸡的形态.所有的子类[火鸡,山鸡,田鸡等],都有这引吧补记频为肉鲜效算盐个shape方法,表明自己的形态,
如果用下面的方法定义我需要具体的鸡,
[基类川刘完采见钢线引用=实现类的对象]
forexample:
鸡a=new火鸡();
鸡a=new田鸡();
鸡a=new山鸡();
鸡a=new母鸡();
当我使用的时候,我采用a这个引用,
a.shape(),就会得到鸡的形态.
如果我定义的是
鸡a=new火鸡();
那么a.shape得到的是火鸡的形态,而不需切前既九画要用具体的
火鸡a=new句对革品艺息担办火鸡();再通过a.shap极找调e得到火鸡的形态