用java代码怎么写
时间: 2023-08-02 17:22:59 浏览: 54
以下是一个简单的Java代码示例,演示了如何实现到货通知的功能:
```java
import java.util.ArrayList;
public class Product {
private String name;
private int stock;
private ArrayList<User> subscribers;
public Product(String name) {
this.name = name;
this.stock = 0;
this.subscribers = new ArrayList<User>();
}
public void setStock(int stock) {
this.stock = stock;
if (stock > 0) {
notifySubscribers();
}
}
public void subscribe(User user) {
subscribers.add(user);
}
public void unsubscribe(User user) {
subscribers.remove(user);
}
private void notifySubscribers() {
for (User user: subscribers) {
user.notify(name);
}
}
}
public class User {
private String name;
private String contact;
public User(String name, String contact) {
this.name = name;
this.contact = contact;
}
public void notify(String productName) {
System.out.println("Hi " + name + ", " + productName + " is back in stock!");
// 发送通知邮件或短信等操作
}
}
public class Main {
public static void main(String[] args) {
Product product = new Product("Huawei Mate X");
User user1 = new User("Alice", "alice@example.com");
User user2 = new User("Bob", "bob@example.com");
User user3 = new User("Charlie", "charlie@example.com");
product.subscribe(user1);
product.subscribe(user2);
product.subscribe(user3);
product.setStock(0); // 商品售罄
product.setStock(10); // 商品到货,通知所有订阅用户
}
}
```
在上述代码中,`Product`类表示商品,包含商品名称、库存量和订阅用户列表等属性和方法。`User`类表示用户,包含用户名和联系方式等信息,以及接收到货通知的方法。`Main`类用来演示如何使用这两个类来实现到货通知的功能。
在代码中,当商品库存量变化时,会自动调用`notifySubscribers()`方法,遍历订阅用户列表并调用`User.notify()`方法发送通知。用户收到通知后,可以通过邮件或短信等方式进行购买操作。
当然,这只是一个简单的示例,实际应用中还需要考虑更多的细节和安全性问题,如用户信息加密、订阅频率限制、通知内容格式等。
阅读全文