解释多态最清晰的方法是通过一个抽象的基类(或者接口).看下面的一个抽象基类定义
public abstract class Human{
...
public abstract void goPee();
}public class Male extends Human
{
...
@Override
public void goPee()
{
System.out.println("Stand Up");
}
}
public class Female extends Human
{
...
@Override
public void goPee()
{
System.out.println("Sit Down");
}
}多态最完美的展现在于当我们试图让一屋子的人都去撒尿的时候:
public static void main(String args)
{
ArrayList<Human> group = new ArrayList<Human>();
group.add(new Male());
group.add(new Female());
// ... add more...
// tell the class to take a pee break
for (Human person : group) person.goPee();
}
得到的结果是:
Stand Up
Sit Down
...
本文通过定义一个抽象基类“人类”并实现不同子类来解释多态的概念。子类分别对应男性和女性,各自实现了不同的撒尿方式。在主函数中,通过对一组人的集合调用撒尿方法,展示了多态性的特性。
967

被折叠的 条评论
为什么被折叠?



