java接口和抽象类

Define an interface USB, in which contains abstract methods turnOn and turnOff. Define class Micphone, Keyboard, Mouse implement USB interface.

Define class Computer. Computer contains private USB D usb. Computer contains three public methods: void add(USB usb); void powerOn(); void powerOff). In main method , new a computer to simulate the powerOn and powerOff.
The result is as follows:

img

望采纳!
定义一个USB接口,其中包含打开和关闭的抽象方法。定义类麦克风、键盘、鼠标实现USB接口。

定义计算机类。计算机包含专用USB和USB。计算机包含三种公共方法:void add(USB);void powerOn();无效(关闭电源)。在主要方法中,一台新的计算机来模拟通电和断电。

public class experience6__USB {

public static void main(String[] args) {

    computer c1=new computer();

    c1.add(new Micphone());

    c1.add(new keyboard());

    c1.add(new Mouse());

    c1.powerOn();

}

}

interface USB{

    public abstract void turnon();

    public abstract void turnoff();

}

 class Micphone implements USB{

     public void turnon() {

        System.out.println("麦克风已连接");

  }

     public void turnoff() {

       System.out.println("麦克风未连接");

  }

 }

 class keyboard implements USB{

     public void turnon() {

            System.out.println("键盘已连接");

     }

     public void turnoff() {

           System.out.println("键盘未连接");

     }

}

 class Mouse implements USB{

     public void turnon() {

            System.out.println("鼠标已连接");

     }

     public void turnoff() {

           System.out.println("鼠标未连接");

     }

}

 class computer{

     private USB [] usb;

     int i;

     public computer(){

         usb=new USB [5];/*1.这里是new五个USB类型的数据而不是内容(注意区分数组new是new其子类成员的类型而其他引用new的是该变量的内容) 

                                        这里是USB的数组,而每一个代表一个USB接口类型的数据,可以再在其中再new一个

                           2.是只能将子类new给父类吗,在各个类中运用instance也可以使用此原理吗 */

     }

     public void add(USB usb1) {

         for(i=0;i<5;i++) {

             if(usb[i]==null) {

                 usb[i]=usb1;

                 break;

             }

         }

         if(i==5)

             System.out.println("USB接口已经满了");

     }

     public void powerOn() {

         for(i=0;i<5;i++) {

             if(usb[i]!=null)

                usb[i].turnon();;

         }

         System.out.println("电脑开机了");

     }

     public void poweroff() {

         for(i=0;i<5;i++) {

             if(usb[i]!=null)

                usb[i].turnoff();

         }

         System.out.println("电脑关机了");

     }

 }


《一文读懂Java面向对象》
https://www.52interview.com/solutions/49