Java中适配器模式代码示例
时间: 2023-12-24 22:03:21 浏览: 34
好的,以下是Java中适配器模式代码示例:
首先,定义接口Target:
```
public interface Target {
void request();
}
```
接着,定义一个实现了Target接口的类:
```
public class ConcreteTarget implements Target {
@Override
public void request() {
System.out.println("ConcreteTarget的request方法被调用!");
}
}
```
然后,定义一个Adaptee类(需要被适配的类):
```
public class Adaptee {
public void specificRequest() {
System.out.println("Adaptee的specificRequest方法被调用!");
}
}
```
接着,定义一个类Adapter,实现Target接口,并持有一个Adaptee的引用作为属性:
```
public class Adapter implements Target {
private Adaptee adaptee;
public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
@Override
public void request() {
System.out.println("Adapter的request方法被调用!");
adaptee.specificRequest();
}
}
```
最后,可以测试下适配器模式的使用:
```
public class Client {
public static void main(String[] args) {
Target target = new ConcreteTarget();
target.request();
Adaptee adaptee = new Adaptee();
Target adapter = new Adapter(adaptee);
adapter.request();
}
}
```
输出结果:
```
ConcreteTarget的request方法被调用!
Adapter的request方法被调用!
Adaptee的specificRequest方法被调用!
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)