定义抽象类Elect和接口Game; 2、分别定义类:手机、电脑和电话手表实现抽象类Elect;此外手机和电脑还实现了接口Game; 3、在测试类中,创建三个Elect类对象,引用分别指向手机、电脑和电话手表。定义show方法,在show方法中用Elect类的对象作参数,使用多态的方式实现电子产品开机、关机、打游戏等功能。 测试说明 平台会对你编写的代码进行测试: 测试输入:无; 预期输出: 手机开机 用手机玩游戏 手机关机 电脑开机 用电脑玩游戏 电脑关机 电话开机 电话关机package case5; public class ElectTest { public static void main(String[] args) { /***** 创建三个Elect类的对象,其引用分别指向Phone、Computer、Watch的实例 *****/ /***** 分别以Elect类的三个对象作参数,调用show方法,实现Elect对象的各项功能 *****/ } /***** 在这里定义show方法,用Elect类的对象作参数,实现对象的开机、关机功能 *****/ /***** 若对象是手机或电脑,则还需实现打游戏的功能 *****/ }
时间: 2023-05-22 22:00:46 浏览: 169
抽象类和抽象方法、接口
package case5;
public abstract class Elect {
public abstract void powerOn();
public abstract void powerOff();
}
interface Game {
void playGame();
}
class Phone extends Elect implements Game {
@Override
public void powerOn() {
System.out.println("手机开机");
}
@Override
public void powerOff() {
System.out.println("手机关机");
}
@Override
public void playGame() {
System.out.println("用手机玩游戏");
}
}
class Computer extends Elect implements Game {
@Override
public void powerOn() {
System.out.println("电脑开机");
}
@Override
public void powerOff() {
System.out.println("电脑关机");
}
@Override
public void playGame() {
System.out.println("用电脑玩游戏");
}
}
class Watch extends Elect {
@Override
public void powerOn() {
System.out.println("电话开机");
}
@Override
public void powerOff() {
System.out.println("电话关机");
}
}
public class ElectTest {
public static void main(String[] args) {
Elect phone = new Phone();
Elect computer = new Computer();
Elect watch = new Watch();
show(phone);
show(computer);
show(watch);
}
public static void show(Elect elect) {
elect.powerOn();
if (elect instanceof Game) {
((Game) elect).playGame();
}
elect.powerOff();
}
}
阅读全文