为何使用重写方法

如前所述,重写方法使得Java支持运行时多态性.多态性是面向对象程序设计特定的关键,原因在于:他使得一般类可以指定其所有派生类都可以共享的方法,同时允许子类定义这些方法或这些方法中的一部分的具体实现.重写方法是Java实现多态性的”单接口,多方法”的又一种方式.成功应用多态性的关键部分在于理解超类和子类构成的可以从一般过渡到具体的层次结构.正确使用层次结构,超类可以提供让子类直接使用的全部元素.不仅如此,他还定义了派生类自己实现的方法.这就是的子类可以灵活的定义自己的方法,同时仍然只使用一个一致的接口.因此,通过将继承与被重写方法相结合,超类可以定义出由所有子类使用的方法的基本形式.
public class test2
{
    // @param args
    public static void main(String args[])
    {
     human f = new female();
     human m = new male();
     f.who();
     m.who();
    }
}
class human
{
    void who()
    {
        System.out.println("human");
    }
}
class male extends human
{
    void who()
    {
        System.out.println("male");
    }
}
class female extends human
{
    void who()
    {
        System.out.println("female");
    }
}
输出:
female
male