用java写一个万能的USB接口(10)
1、
1.如图所示,我们在这个java项目上鼠标右击在弹出的下拉列表菜单中,我们点
击“新建”这一项。

2、2.如图所示,我们继续在弹出的下拉列表菜单中点击选择“类”这一项。

3、3.如图所示,在弹出的对话框中,我们依次填写类的名称为“USB”,然后我们直
接点击“完成(F)”按钮,即可创建一个类文件。

4、4.如图所示,这个是我们定义的一个名为“USB”的接口(interface)类,我们
首先USB类定义一个读取的抽象方法。以便在有新的USB设备时,可以很方便的覆
写其方法(比如:增加了一个android设备,需要USBandroid的USB)。

5、5.如图所示,我们再定义一个USB写的抽象方法。

6、6.如图所示,我们再定义一个USB读写的平均速率的抽象方法。

7、7.如图所示,我们点击新建java类的快捷按钮,来新建一个java类文件。

8、8.如图所示,在弹出的对话框中,我们依次填写类的名称为“USBandroid”,在
点击“完成(F)”按钮。

9、9.如图所示,我们有一个android设备,需要一个USB的功能,所以我们用
impements来实现这个android设备的USB功能,这个android设备的的USB是
USBandroid类。

10、10.如图所示,我们依次对USB类的抽象方法,读、写、速率进行覆写(override
)(要进行覆写就要先继承,接口的实现是特殊的继承,之后要有相同的函数类
型、名子和参数,才可以进行覆写)。

11、11.如图所示,我们点击新建java类的快捷按钮,来新建一个java类文件。

12、12.如图所示,在弹出的对话框中,我们依次填写类的名称为“USBIOS”,在点击
“完成(F)”按钮。

13、13.如图所示,我们有一个IOS设备,需要一个USB的功能,所以我们用impements
来实现这个IOS设备的USB功能,这个IOS设备的的USB是USBIOS类。

14、14.如图所示,我们依次对USB类的抽象方法,读、写、速率进行覆写(override
),使USBIOS具有具体读、写及速率的实现。

15、15.如图所示,我们点击新建java类的快捷按钮,来新建一个java类文件。这个是
为了调用我们为android设备和IOS设备做的USB接口,能否发挥其USB的功能。

16、16.如图所示,在弹出的对话框中,我们依次填写类的名称为“USBtest”,之后
勾选方框,让其自动生成一个主函数,然后点击“完成(F)”按钮。

17、17.如图所示,我们new一个USBandroid的对象,并将其向上转型成为USB设备。

18、18.如图所示,我们依次调用android1对象的读、写、速率的方法。

19、19.如图所示,我们new一个USBIOS的对象,并将其向上转型成为USB设备。

20、20.如图所示,我们依次调用IOS11对象的读、写、速率的方法。

21、21.如图所示,我们点击运行编译按钮,来编译和运行java源代码。

22、22.如图所示,我们看到程序依次输出了USBandroid设备和USBIOS的读、写和速率
的方法。

23、23.这是java的USB万能接口的源代码可以直接进行编译运行,希望大家能够从中
获益良多(下面每一个package都是一个独立的java类文件,需要单独复制存放)
。package io;
public interface USB { //定义一个读取的方法 void read(); //定义一个写的方法 void write(); //定义数据传输平均速率 void sudu();
}
package io;
//增加一个USBandroid的设备,我们就需要实现(implements)这个USBandroid
类的USB功能,因为USB接口是//用来实现的,而且需要对其抽象方法进行复写public class USBandroid implements USB { //覆写接口中的read()方法 public void read(){ System.out.println("我是USBandroid设备,我会读取数
据。"); }; //覆写接口中的write()方法 public void write(){ System.out.println("我是USBandroid设备,我可以将读取到
的数据写入到设备中去"); } //覆写接口中的sudu()方法 public void sudu(){ System.out.println("我是USBandroid设备,我的传输平均速
度为25MB/s"); } }
package io;//增加一个USBIOS的设备,我们就需要实现(implements)这个USBIOS类的USB功
能,因为USB接口是//用来实现的,而且需要对其抽象方法进行复写public class USBIOS implements USB { //覆写接口中的read()方法 public void read(){ System.out.println("我是USBIOS设备,我会读取数
据。"); }; //覆写接口中的write()方法 public void write(){ System.out.println("我是USBIOS设备,我可以将读
取到的数据写入到设备中去"); } //覆写接口中的sudu()方法 public void sudu(){ System.out.println("我是USBIOS设备,我的传输平
均速度为30MB/s"); }
}
package io;//测试一下我们用接口做的android的USB接口public class USBTest {
public static void main(String[] args) { // TODO 自动生成的方法存根 //生成一个USBandroid的对象,并将其向上转型成USB设备 USB android1 = new USBandroid(); //调用USBandroid的read()的方法 android1.read(); //调用USBandroid的write()的方法 android1.write(); //调用USBandroid的sudu()的方法 android1.sudu(); //生成一个USBandroid的对象,并将其向上转型成USB设备 USB IOS1 = new USBIOS(); //调用USBandroid的read()的方法 IOS1.read(); //调用USBandroid的write()的方法 IOS1.write(); //调用USBandroid的sudu()的方法 IOS1.sudu(); }
}