用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();}}