首先定义一个接口 名为USB
其次定义两个实现类分别名为KeyBorad和Mouse
此时就可以使用多态了,因为实现类和接口某种意义上来说是继承关系。
USB u = new Keyborad();
USB u2 = new Mouse();
因为键盘和鼠标都具有插拔功能,所以为了方便,把这两个功能写入接口,然后实现类重写。
package com.itheima.d4_polymorphic_test; /** * USB接口 == 规范 */ public interface Usb { // 接入 拔出 void connect(); void unconnect(); }
但是键盘和鼠标也有他们的独有功能,所以把独有功能写入各自的实现类中
package com.itheima.d4_polymorphic_test; public class KeyBoard implements Usb{ /** * 独有功能 */ public void KeyDown(){ System.out.println("王文军键盘敲击了老铁666!"); } }
此时创建电脑类 Computer
package com.itheima.d4_polymorphic_test; public class Computer{ private String name; public Computer(String name) { this.name = name; } public void start(){ System.out.println(name + "已经启动!"); } /** * 提供安装usb设备的入口 */ public void installUSB(Usb u){ //多态:usb == 可能是鼠标 也可能是键盘 u.connect(); if( u instanceof KeyBoard){ KeyBoard k = (KeyBoard) u; k.KeyDown(); }else if(u instanceof Mouse){ Mouse m = (Mouse) u; m.click(); } u.unconnect(); } }
再创建测试类Test
package com.itheima.d4_polymorphic_test; /** * 目标: usb设备模拟 * 1、定义usb接口: 接入、拔出 * 2、定义2个usb的实现类,鼠标,键盘 * 3、创建一个电脑对象,创建usb设备对象,安装启动 */ public class Test { public static void main(String[] args) { //a、创建电脑对象 Computer c = new Computer("原神电脑!"); c.start(); //b、创建鼠标,键盘对象 Usb u = new KeyBoard("RK"); c.installUSB(u); Usb u2 = new Mouse("雷蛇"); c.installUSB(u2); } }
然后运行就可以了
标签:Java,usb,void,多态,接口,Mouse,public,name From: https://www.cnblogs.com/liandaozhanshi/p/17467790.html