改用java输出
时间: 2023-12-04 16:14:58 浏览: 38
好的,以下是使用 Java 实现的示例代码:
```java
import java.util.ArrayList;
import java.util.List;
interface Observer {
void update(String status);
}
class Girl {
private List<Observer> observers = new ArrayList<>();
private String status = "";
public void attach(Observer observer) {
observers.add(observer);
}
public void detach(Observer observer) {
observers.remove(observer);
}
public void notifyObservers() {
for (Observer observer : observers) {
observer.update(status);
}
}
public void updateStatus(String status) {
this.status = status;
notifyObservers();
}
}
class Boy implements Observer {
private String name;
public Boy(String name) {
this.name = name;
}
@Override
public void update(String status) {
System.out.println(name + "收到了女孩的状态更新:" + status);
}
}
public class Main {
public static void main(String[] args) {
// 创建一个女孩对象
Girl girl = new Girl();
// 创建三个男孩对象
Boy boy1 = new Boy("小明");
Boy boy2 = new Boy("小李");
Boy boy3 = new Boy("小张");
// 男孩们关注女孩
girl.attach(boy1);
girl.attach(boy2);
girl.attach(boy3);
// 女孩更新状态,男孩们会收到通知
girl.updateStatus("我在看电影");
}
}
```
输出结果与之前 Python 版本的一致:
```
小明收到了女孩的状态更新:我在看电影
小李收到了女孩的状态更新:我在看电影
小张收到了女孩的状态更新:我在看电影
```
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)