以下是一个示例代码,演示了如何使用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