zoukankan      html  css  js  c++  java
  • instance与可变参数合用,多态性

    public class Doubt {

        public static void main(String[] args) {

            Dog d1=new Dog();

            Dog d2=new Zangao();

            Dog d3=new Hasiq();

            Master m=new Master();

            m.feed(d1,d2,d3);

        }

    }

    class Master {

        void feed(Dog ... d1) {

            for(Dog d:d1) {

                d.eat();

                if(d instanceof Zangao) {

                    Zangao z=(Zangao)d;

                    z.fight();

                    System.out.println("是藏獒");

                }

                if(d instanceof Hasiq) {

                    Hasiq h=(Hasiq)d;

                    h.play();

                    System.out.println("是哈士奇");

                }

            }

        }

    }

    class Dog {

        void eat() {

            System.out.println("狗吃东西");

        }

    }

    class Zangao extends Dog{

        void eat() {

            System.out.println("藏獒吃东西");

        }

        void fight() {

            System.out.println("我是藏獒,我爱战斗");

        }

    }

    class Hasiq extends Dog{

        void eat() {

            System.out.println("哈士奇吃东西");

        }

        void play() {

            System.out.println("我是哈士奇,我爱玩耍");

        }

    }

  • 相关阅读:
    ubuntu linux切换用户到root
    passwd命令
    如何根据驱动程序及其安装文件来访问该设备[转]
    CMMI的5个级别和25个过程域
    Linux操作系统启动过程
    VMWare上网三种工作模式
    卷积的意义【转】
    Linux内核模块动态添加方法
    Linux内核编译的过程
    mysql存入中文乱码解决方法(windows环境)
  • 原文地址:https://www.cnblogs.com/u0mo5/p/4149089.html
Copyright © 2011-2022 走看看