java接口一封家书
时间: 2024-09-20 16:09:19 浏览: 40
在Java中,接口可以理解为一种“契约”,它是一种声明一组方法(包括常量和抽象方法)的特殊类,但实际上并不包含具体的实现。当你创建一个接口时,你不提供任何方法的body,而是指定这些方法应该由实现该接口的类来提供。这就像是一封家庭信件,列出了期望每个家庭成员需要遵守的行为准则。
例如,你可以创建一个名为`Drawable`的接口,其中包含绘制图形的方法,如`draw()`。所有能够进行绘制的类,比如`Circle`, `Rectangle`, 或者`Image`,都应当实现这个接口,并提供他们各自绘制的具体实现。
```java
public interface Drawable {
void draw();
}
```
然后,像这样使用接口:
```java
public class Circle implements Drawable {
// 实现draw()方法
@Override
public void draw() {
// 绘制圆圈
}
}
public class Main {
public static void main(String[] args) {
Drawable circle = new Circle(); // 创建Circle对象
circle.draw(); // 调用draw方法
}
}
```
相关问题
使用命令模式模拟邮局送信
好的,以下是使用命令模式模拟邮局送信的示例代码:
首先,我们需要定义一个命令接口,包含一个执行方法:
```java
public interface Command {
void execute();
}
```
然后,我们可以定义一个具体的邮局类,该类实现了命令接口:
```java
public class PostalService implements Command {
private String fromAddress;
private String toAddress;
private String message;
public PostalService(String fromAddress, String toAddress, String message) {
this.fromAddress = fromAddress;
this.toAddress = toAddress;
this.message = message;
}
@Override
public void execute() {
System.out.println("从 " + fromAddress + " 寄出信件到 " + toAddress + ",内容为:" + message);
}
}
```
接着,我们可以定义一个邮局队列类,用于存储待发送的信件:
```java
import java.util.ArrayList;
import java.util.List;
public class PostalQueue {
private List<Command> commands = new ArrayList<>();
public void addCommand(Command command) {
commands.add(command);
}
public void executeCommands() {
for (Command command : commands) {
command.execute();
}
commands.clear();
}
}
```
最后,我们可以使用 PostalQueue 类来模拟邮局送信的过程:
```java
public class Main {
public static void main(String[] args) {
PostalQueue queue = new PostalQueue();
queue.addCommand(new PostalService("A公司", "B公司", "这是一封重要的合作信件"));
queue.addCommand(new PostalService("C先生", "D女士", "这是一封情书"));
queue.executeCommands();
}
}
```
输出结果如下:
```
从 A公司 寄出信件到 B公司,内容为:这是一封重要的合作信件
从 C先生 寄出信件到 D女士,内容为:这是一封情书
```
以上就是使用命令模式模拟邮局送信的示例代码。
阅读全文