Java基础:接口多态的综合案例 —— 笔记本电脑

在这里插入图片描述

2. 案例实现


  1. 定义USB接口

package cn.itcast.day10.demo07;

public interface USB {

public abstract void open(); // 打开设备

public abstract void close(); // 关闭设备

}

  1. 定义鼠标类

package cn.itcast.day10.demo07;

// 鼠标就是一个USB设备

public class Mouse implements USB {

@Override

public void open() {

System.out.println(“打开鼠标”);

}

@Override

public void close() {

System.out.println(“关闭鼠标”);

}

public void click() {

System.out.println(“鼠标点击”);

}

}

  1. 定义键盘类

package cn.itcast.day10.demo07;

// 键盘就是一个USB设备

public class Keyboard implements USB {

@Override

public void open() {

System.out.println(“打开键盘”);

}

@Override

public void close() {

System.out.println(“关闭键盘”);

}

public void type() {

System.out.println(“键盘输入”);

}

}

  1. 定义笔记本类

package cn.itcast.day10.demo07;

public class Computer {

public void powerOn() {

System.out.println(“笔记本电脑开机”);

}

public void powerOff() {

System.out.println(“笔记本电脑关机”);

}

// 使用USB设备的方法,使用接口作为方法的参数

public void useDevice(USB usb) {

usb.open(); // 打开设备

if (usb instanceof Mouse) { // 一定要先判断

Mouse mouse = (Mouse) usb; // 向下转型

mouse.click();

} else if (usb instanceof Keyboard) { // 先判断

Keyboard keyboard = (Keyboard) usb; // 向下转型

keyboard.type();

最后

笔者已经把面试题和答案整理成了面试专题文档

image

image

image

image

image

image

(img-HZ8LBAkz-1714131319854)]

[外链图片转存中…(img-BpU5kMgw-1714131319854)]

[外链图片转存中…(img-0SLoTxnu-1714131319855)]

[外链图片转存中…(img-XkgrbSvO-1714131319855)]

[外链图片转存中…(img-S3oRfUdh-1714131319856)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值