Test测试类
package InterFace_Implements.DuoTai;
public class Test {
public static void main(String[] args) {
//创建电脑对象
Computer c=new Computer();
c.Run("拯救者");
//创建键盘对象
USB k=new KeyPan("诺必行");
c.installUSB(k);
c.uninstallUSB(k);
//创建鼠标对象
USB m=new Mouse("飞利浦");
c.installUSB(m);
c.uninstallUSB(m);
}
}
Computer类
package InterFace_Implements.DuoTai;
//电脑类
public class Computer implements USB{
private String name;//电脑品牌
public static void Run(String name){
System.out.println(name+"开机成功");
}
public void installUSB(USB usb){//电脑安装usb
usb.connect();
//独有功能先判断,再强制转换
if (usb instanceof KeyPan){//判断usb类型是键盘还是鼠标
KeyPan k=(KeyPan) usb;
k.KeyDown();
}else if (usb instanceof Mouse){
Mouse m=(Mouse) usb;
m.move("飞利浦");
}
}
public void uninstallUSB(USB usb){//电脑卸装usb
usb.unconnect();
//独有功能先判断,再强制转换
if (usb instanceof KeyPan){//判断usb类型是键盘还是鼠标
KeyPan k=(KeyPan) usb;
}else if (usb instanceof Mouse){
Mouse m=(Mouse) usb;
}
}
public Computer(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Computer() {
}
@Override
public void connect() {
}
@Override
public void unconnect() {
}
}
KeyPan类
package InterFace_Implements.DuoTai;
//键盘类
public class KeyPan implements USB{
private String name;//键盘名称
public KeyPan() {
}
public KeyPan(String name) {
this.name = name;
}
public void KeyDown(){
System.out.println("键盘按下了!!!");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public void connect() {
System.out.println("欢迎键盘的到来!!");
}
@Override
public void unconnect() {
System.out.println("欢迎键盘下次的到来!!");
}
}
Mouse类
package InterFace_Implements.DuoTai;
//定义鼠标类
public class Mouse implements USB{
private String name;//鼠标名称
public void move(String name){
System.out.println(name+"移动了!");
}
public Mouse(String name) {//有参数构造器
this.name = name;
}
public Mouse() {//无参数构造器
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public void connect() {
System.out.println("欢迎鼠标的到来!!");
}
@Override
public void unconnect() {
System.out.println("欢迎鼠标下次的到来!!");
}
}
USB接口
package InterFace_Implements.DuoTai;
//创建USB接口
public interface USB {
public abstract void connect();//插入usb
public abstract void unconnect();//拔出usb
}