用Java写一个完整的消费者模式案例
时间: 2023-04-03 19:04:53 浏览: 70
非常感谢您的提问,我可以回答这个问题。以下是一个简单的 Java 消费者模式案例:
首先,我们需要定义一个产品类 Product,它有一个属性 name:
```
public class Product {
private String name;
public Product(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
```
然后,我们定义一个消费者类 Consumer,它有一个 consume 方法,用于消费产品:
```
public class Consumer {
public void consume(Product product) {
System.out.println("消费了产品:" + product.getName());
}
}
```
接下来,我们定义一个生产者类 Producer,它有一个 produce 方法,用于生产产品,并将产品交给消费者消费:
```
public class Producer {
private List<Consumer> consumers = new ArrayList<>();
public void addConsumer(Consumer consumer) {
consumers.add(consumer);
}
public void produce(Product product) {
System.out.println("生产了产品:" + product.getName());
for (Consumer consumer : consumers) {
consumer.consume(product);
}
}
}
```
最后,我们可以编写一个测试类,测试消费者模式的效果:
```
public class Test {
public static void main(String[] args) {
Product product = new Product("苹果");
Consumer consumer1 = new Consumer();
Consumer consumer2 = new Consumer();
Producer producer = new Producer();
producer.addConsumer(consumer1);
producer.addConsumer(consumer2);
producer.produce(product);
}
}
```
运行测试类,输出结果如下:
```
生产了产品:苹果
消费了产品:苹果
消费了产品:苹果
```
以上就是一个简单的 Java 消费者模式案例。希望能对您有所帮助!