码迷,mamicode.com
首页 > 其他好文 > 详细

补充上次的将父类作为方法的返回类型

时间:2019-07-20 15:50:06      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:class   equal   宠物   返回   stat   cat   sys   out   类型   

宠物类

package cn.Animal;

public class Animal {
    public void play() {}
}

狗类

package cn.Animal;

public class Dog extends Animal {
    public void play() {
        System.out.println("狗在玩蛇");
    }
}

猫类

package cn.Animal;

public class Cat extends Animal {
    public void play() {
        System.out.println("猫咪在玩球");
    }
}

鸭子类

package cn.Animal;

public class Duck extends Animal {
    public void play() {
        System.out.println("鸭子在玩水");
    }
}

主人类

package cn.Animal;
//主人类
public class Host {
    //动物在玩不同的游戏,将父类作为方法的返回类型
    public Animal toPlay(String type) {
        Animal animal = null;
        if(type.equals("cat")) {
            animal =  new Cat();
        }else if(type.equals("dog")) {
            animal = new Dog();
        }else {
            animal =  new Duck();
        }
        return animal;
    }
    
}

测试类

package cn.Animal;

public class Test {
        public static void main(String[] args) {
            Host host = new Host();
            Animal animal = host.toPlay("dog");
            animal.play();
        }
}

结果

技术图片

 

补充上次的将父类作为方法的返回类型

标签:class   equal   宠物   返回   stat   cat   sys   out   类型   

原文地址:https://www.cnblogs.com/lev1/p/11217883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!