interface Displayable { public void display0();}class Notification implements Displayable { private String message; public Notification(String message) { this.message = message; } @Override public void display0() { System.out.println("通知内容:" + message); }}class Car implements Displayable { private int fuelLevel; public Car(int fuelLevel) { this.fuelLevel = fuelLevel; } @Override public void display0() { System.out.println("汽车油量:" + fuelLevel); }}class Advertisement implements Displayable { private String message; public Advertisement(String message) { this.message = message; } @Override public void display0() { System.out.println("广告消息:" + message); }}public class DisplayableTest { public static void main(String[] args) { Displayable notification = new Notification("这是一条通知"); Displayable car = new Car(30); Displayable advertisement = new Advertisement("今天特价"); notification.display0(); car.display0(); advertisement.display0(); }}
时间: 2023-06-07 09:12:03 浏览: 60
您的问题是,这段代码中的 Displayable 接口和三个实现类是如何工作的?
这段代码中,Displayable 接口用于表示可以展示(display)其内容的对象。三个实现类分别是通知(Notification)、汽车(Car)和广告(Advertisement),它们都实现了 Displayable 接口,并且实现了 display0() 方法来打印出各自的信息。在 DisplayableTest 类的 main 方法中,创建了三个对象,分别是一个 Notification 对象、一个 Car 对象和一个 Advertisement 对象,并分别调用了它们的 display0() 方法来展示它们的内容。这样的设计使得我们可以以相同的方式处理不同的对象,同时也可以方便地扩展新的展示对象。
相关问题
用Java定义一个接口,其中包含-一个display0方法用于显示信息:通知类、汽车类、广告类均要实现该接口,以显示“通知内容”、“汽车油量”、“广告消息”.试编程实现并测试类的设计。创建的对象用接口引用,并通过接口引用变量执行display( )方法。
好的,下面是 Java 实现代码:
```java
// 定义接口
interface Displayable {
void display();
}
// 实现通知类
class Notification implements Displayable {
private String content;
public Notification(String content) {
this.content = content;
}
@Override
public void display() {
System.out.println("通知内容:" + content);
}
}
// 实现汽车类
class Car implements Displayable {
private double fuel;
public Car(double fuel) {
this.fuel = fuel;
}
@Override
public void display() {
System.out.println("汽车油量:" + fuel);
}
}
// 实现广告类
class Advertisement implements Displayable {
private String message;
public Advertisement(String message) {
this.message = message;
}
@Override
public void display() {
System.out.println("广告消息:" + message);
}
}
// 测试类
public class Test {
public static void main(String[] args) {
// 创建对象并用接口引用
Displayable d1 = new Notification("今天天气不错!");
Displayable d2 = new Car(50.0);
Displayable d3 = new Advertisement("新品上市,限时优惠!");
// 调用接口方法
d1.display();
d2.display();
d3.display();
}
}
```
运行以上代码,输出结果为:
```
通知内容:今天天气不错!
汽车油量:50.0
广告消息:新品上市,限时优惠!
```
你可以将以上代码复制到 Java 环境中执行一下,看看效果。
(1)定义一个接口,其中包含一个 dis play0方法用于显示信息;通知类、汽车类、广 告类均要实现该接口,显示“通知内容”、 “汽车油量”和“广告消息”,试编程实现并 测试类的设计。创建的对象用接口引用,并通过接口引用变量执行 display0)方法。
好的,接下来我会使用ChitGPT来回答你的问题:
请看以下代码实现:
```
interface Displayable {
public void display0();
}
class Notification implements Displayable {
private String message;
public Notification(String message) {
this.message = message;
}
@Override
public void display0() {
System.out.println("通知内容:" + message);
}
}
class Car implements Displayable {
private int fuelLevel;
public Car(int fuelLevel) {
this.fuelLevel = fuelLevel;
}
@Override
public void display0() {
System.out.println("汽车油量:" + fuelLevel);
}
}
class Advertisement implements Displayable {
private String message;
public Advertisement(String message) {
this.message = message;
}
@Override
public void display0() {
System.out.println("广告消息:" + message);
}
}
public class DisplayableTest {
public static void main(String[] args) {
Displayable notification = new Notification("这是一条通知");
Displayable car = new Car(30);
Displayable advertisement = new Advertisement("今天特价");
notification.display0();
car.display0();
advertisement.display0();
}
}
```
在这个程序里,我们创建了一个Displayable接口,并定义了一个display0()方法,用于显示信息。然后我们创建了三个类,Notification、Car和Advertisement,都实现了Displayable接口,并覆盖了display0()方法,每个类显示的信息都不同。最后,我们在主方法中分别使用了display0()方法,通过接口引用变量调用display0()方法,展示了三种不同的显示效果。