Javase学习记录之------多态南北方人案例

£可爱£侵袭症+ 提交于 2019-12-01 21:52:59

多态就是要用南方人的东西调用北方人的东西,南方人掉用南方人的东西就不需要多态了

class person{
    public void eat(){
        System.out.println("吃东西");
    }
}

class southPerson extends person{
    public void eat(){
        System.out.println("吃大米");
    }
    public void jingShang(){
        System.out.println("经商");
    }
}

class northPerson extends person{
    public void eat(){
        System.out.println("吃面条");
    }
    public void yanJiu(){
        System.out.println("研究");
    }
}
public class DuoTai {
    public static void main(String[] args){
        //多态的测试是通过person来做的;
        //南方人
        person p=new southPerson();
        p.eat();
        //父类有eat所以我们可以调用eat,但是 new 的是南方人,所以我们打的是南方人的东西
        System.out.println("-------------------");
        southPerson sp=(southPerson)p;
        //p是父类的,不能调用子类他没有的jingShang(),但是我们可以把southPerson new 出来的东西在赋值给southPerson;
        sp.eat();
        sp.jingShang();
        System.out.println("-------------------");
        //北方人
        p=new northPerson();
        //不用写person p=new nouthPerson();了
        p.eat();
        System.out.println("-------------------");
        northPerson np=(northPerson)p;
        np.eat();
        np.yanJiu();
    }
}

程序运行结果为:
吃大米

吃大米
经商

吃面条

吃面条
研究

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!