不同类对象的队列
创始人
2025-01-09 07:30:02
0

以下是一个示例代码,演示了如何使用Java中的队列(Queue)来存储不同类对象。

首先,我们定义一个父类Animal,它有一个属性name和一个方法makeSound()。

public abstract class Animal {
    private String name;

    public Animal(String name) {
        this.name = name;
    }

    public abstract void makeSound();

    public String getName() {
        return name;
    }
}

然后,我们定义两个子类Cat和Dog,它们都继承自Animal,并实现了makeSound()方法。

public class Cat extends Animal {
    public Cat(String name) {
        super(name);
    }

    @Override
    public void makeSound() {
        System.out.println(getName() + " makes meow sound");
    }
}

public class Dog extends Animal {
    public Dog(String name) {
        super(name);
    }

    @Override
    public void makeSound() {
        System.out.println(getName() + " makes woof sound");
    }
}

最后,我们使用Queue来存储不同类对象。

import java.util.LinkedList;
import java.util.Queue;

public class Main {
    public static void main(String[] args) {
        Queue animalQueue = new LinkedList<>();

        Animal cat = new Cat("Kitty");
        Animal dog = new Dog("Buddy");

        animalQueue.add(cat);
        animalQueue.add(dog);

        while (!animalQueue.isEmpty()) {
            Animal animal = animalQueue.poll();
            animal.makeSound();
        }
    }
}

在上面的示例中,我们创建了一个Queue对象animalQueue,并向其中添加了一个Cat对象和一个Dog对象。然后,我们使用while循环遍历队列,不断从队列中取出对象,并调用其makeSound()方法。这样,我们就能够按照添加的顺序依次输出它们的声音。

输出结果如下:

Kitty makes meow sound
Buddy makes woof sound

注意,由于animalQueue是一个Queue类型的对象,可以存储Animal的子类对象。这是因为子类对象可以向上转型为父类对象。所以,我们可以将Cat和Dog对象都存储在animalQueue中,并通过父类Animal的引用访问它们的属性和方法。

相关内容

热门资讯

透视辅助!hhpoker免费透... 透视辅助!hhpoker免费透视脚本,pokemmo脚本辅助器下载(详细辅助黑科技教程)hhpoke...
wepoke黑科技!德扑之星可... wepoke黑科技!德扑之星可以抽水吗(透视)都是存在有挂(详细辅助黑科技教程);无聊就玩这款wep...
微扑克游戏辅助器!aa pok... 微扑克游戏辅助器!aa poker下载地址(透视)起初是有挂(详细辅助曝光教程)1、超多福利:超高返...
透视软件!wpk透视脚本链接,... 透视软件!wpk透视脚本链接,约局吧德州透视(详细辅助系统教程);1、起透看视 wpk透视脚本链接透...
wpk提高胜率!wpk微扑克俱... 您好,wpk提高胜率这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这...
透视免费!wpk透视辅助靠谱吗... 透视免费!wpk透视辅助靠谱吗,aapoker怎么提高中牌率(详细辅助攻略教程)亲,关键说明,wpk...
德州ai辅助有用!poker有... 德州ai辅助有用!poker有挂辅助吗(透视)原来真的有挂(详细辅助透明教程);德州ai辅助有用!p...
透视脚本!智星德州菠萝透视插件... 透视脚本!智星德州菠萝透视插件工具,aapoker透视脚本(详细辅助专业教程);1、每一步都需要思考...
wpk有辅助挂!wepoke支... wpk有辅助挂!wepoke支持安卓吗(透视)往昔存在有挂(详细辅助扑克教程)(1)wpk有辅助挂!...
透视总结!aapoker脚本怎... 透视总结!aapoker脚本怎么用,wepoker轻量版透视方法(详细辅助微扑克教程)1)aapok...