多态对于程序刚開始学习的人来说是一道不小的槛。与递归类似,无论是书中还是老师授课,都把其讲得神乎其神,让读者觉得一头雾水,莫名其妙。但我觉得,多态实际上很easy。学习的难点在于在接触多态之前。大脑中并没有一个直观的印象。在此。我就给大家实际演示样例什么是多态。
我们首先定义一个接口。
package org.tny.test; public interface People { public void say(); }
接着我们定义两个实现类,
package org.tny.test; public class Lilei implements People { @Override public void say() { System.out.println("Hi,how are you?"); } }
package org.tny.test; public class Hanmeimei implements People { @Override public void say() { System.out.println("Fine,Thank you ,and you?"); } }
最后。我们编写測试代码。
package org.tny.test; public class Tester { public static void main(String[] args) { People people; people = new Lilei(); people.say(); people = new Hanmeimei(); people.say(); } }
可见,測试代码中都是调用people的say方法。
输出为:
Hi,how are you? Fine,Thank you ,and you?
尽管都是相同的people的say方法,可是输出结果却不一样,这就是多态。