生成一个java代码,要求父类定义交通工具,子类运用接口实现空调是否开启功能与播放器功能,并且将每个子类进行打包。最后设计一个主程序,根据键盘输入结果实现交通工具中的空调开启功能
时间: 2024-03-22 18:41:14 浏览: 94
好的,这里是一个实现你要求的Java代码示例:
```java
// 定义交通工具类
class Transportation {
void move() {
System.out.println("交通工具启动了!");
}
}
// 空调接口
interface AirConditioner {
void turnOnAC();
}
// 播放器接口
interface Player {
void playMusic();
}
// 车类,实现了空调和播放器接口
class Car extends Transportation implements AirConditioner, Player {
private boolean acOn = false;
@Override
void move() {
super.move();
if (acOn) {
System.out.println("空调已打开!");
} else {
System.out.println("空调未打开!");
}
playMusic();
}
@Override
public void turnOnAC() {
acOn = true;
}
@Override
public void playMusic() {
System.out.println("播放器已启动!");
}
}
// 飞机类,实现了空调和播放器接口
class Airplane extends Transportation implements AirConditioner, Player {
private boolean acOn = false;
@Override
void move() {
super.move();
if (acOn) {
System.out.println("空调已打开!");
} else {
System.out.println("空调未打开!");
}
playMusic();
}
@Override
public void turnOnAC() {
acOn = true;
}
@Override
public void playMusic() {
System.out.println("播放器已启动!");
}
}
// 打包类,包含了车类和飞机类
class Package {
Car car = new Car();
Airplane airplane = new Airplane();
}
// 主程序,根据用户输入打开或关闭空调
public class Main {
public static void main(String[] args) {
Package pkg = new Package();
System.out.println("请选择交通工具(1.车,2.飞机):");
Scanner scanner = new Scanner(System.in);
int choice = scanner.nextInt();
if (choice == 1) {
System.out.println("是否打开空调?(1.是,2.否):");
int acChoice = scanner.nextInt();
if (acChoice == 1) {
pkg.car.turnOnAC();
}
pkg.car.move();
} else if (choice == 2) {
System.out.println("是否打开空调?(1.是,2.否):");
int acChoice = scanner.nextInt();
if (acChoice == 1) {
pkg.airplane.turnOnAC();
}
pkg.airplane.move();
} else {
System.out.println("输入有误!");
}
}
}
```
这个代码定义了一个交通工具类 `Transportation`,以及实现了空调接口 `AirConditioner` 和播放器接口 `Player` 的车类 `Car` 和飞机类 `Airplane`。同时还定义了一个打包类 `Package`,包含了车类和飞机类。主程序根据用户输入选择交通工具,并根据用户输入结果实现交通工具中的空调开启功能。
阅读全文