多态是什么意思?5
java中的多态是什么意思?
我有更好的答案
推荐于2017-11-28 16:32:45
最佳答案
比方一下: 你和你朋友都是烟鬼, 某日,你没有带烟, 而你朋友有n种烟, 你说: 来根烟, 朋友给你一根; 你通过烟的过滤嘴, 品出为白沙烟 你再要一根, 品出这次是芙蓉王, 再要一根, 品出这次是熊猫 ... 上面描述的就是多态! 烟 a = 白沙 烟 b = 芙蓉王 烟 c = 熊猫 但发现没有, 仅仅通过"烟"基类, 引用到不同的具体类对象, 就能让你调用到不同的对象, 这就是多态. 而烟到你嘴里[此时你还没有发现是那种烟], 你仅仅凭借"吸"的动作,就识别出来,到底是哪种烟对象 这就是多态的悬机. 多态须具备: 1. 基类 和各个子类 2. 基类 引用, 指向实例化的子类对象. 再举一个鸡的例子, 鸡是所有其它鸡的基类, 定义了一个方法shape(), 此方法能指明鸡的形态. 所有的子类[火鸡,山鸡,田鸡等],都有这个shape方法, 表明自己的形态, 如果用下面的方法定义我需要具体的鸡, [基类 引用 = 实现类的对象] for example: 鸡 a = new 火鸡(); 鸡 a = new 田鸡(); 鸡 a = new 山鸡(); 鸡 a = new 母鸡(); 当我使用的时候, 我采用 a 这个引用, a.shape(), 就会得到鸡的形态. 如果我定义的是 鸡 a = new 火鸡(); 那么a.shape得到的是火鸡的形态, 而不需要用具体的 火鸡 a = new 火鸡(); 再通过a.shape得到火鸡的形态