理接口的概念SHANDONGUNIVERSITYOFTECHNOLOGY会具有不同接口中的抽象方法在不同的类中去实现,P的行为。使用implements关键字实现接口publicclassUDriverimplementsUSBpublicvoidwork()。新硬件已System.out.println("发现新硬件。。。。。。经安装并可以使用了)7publicvoidstop(System.out.println("USBMassStorageDriver设备可以从系统中安全地移除In");但行为完全不同鼠标、摄像头U盘都实现了USB接口规范
专业 专注 创新 接口的概念 接口中的抽象方法在不同的类中去实现,会具有不同 的行为。 public class UDriver implements USB { public void work() { System.out.println("发现新硬件。新硬件已 经安装并可以使用了"); } public void stop() { System.out.println(“USB Mass Storage Driver设备可 以从系统中安全地移除\n"); } } 鼠标、摄像头、U盘都实现了USB接口规范,但行为完全不同 使用implements 关键字实现接口
理接口的概念SHANDONGUNIVERSITY OFTECHNOLOGYpublicclassUSBTestpublicstatic voidmain(Stringargs)(UsBmouse=newMouse();接口变量引用指向USB uDriver = new UDriver();子类对象UsB camera=newCamera(;mouse.work(); mouse.stop(;动态绑定一一在执行期间判断所引用对uDriver.work);象的实际类型,根据其实际的类型调用uDriver.stop();其相应的方法。(接口回调)camera.work();camera.stop();Problems@JavadoceDeclaration早Console XProgress<terminated>USBTest[JavaApplication]C:ProgramFileslJavaljre6lbinl我move、move、move、我点、点、点.我就不move、move、move、我就不点、点、点。。发现新硬件,。。新硬件已经安装并可以使用了UsBMassStorageDriver设备可以从系统中安全地移除我能看到你,我就是能看到你。我不能看到你了,我就是不能看到你了
专业 专注 创新 public class USBTest { public static void main(String[] args) { USB mouse = new Mouse(); USB uDriver = new UDriver(); USB camera = new Camera(); mouse.work(); mouse.stop(); uDriver.work(); uDriver.stop(); camera.work(); camera.stop(); } } 动态绑定——在执行期间判断所引用对 象的实际类型,根据其实际的类型调用 其相应的方法。(接口回调) 接口变量引用指向 子类对象 接口的概念
理使用接口的好处SHANDONGUNIVERSITYOFTECHNOLOGY如果你是Dog类的程序设计师,且必须修改Dog类让它能够执行宠物的动作(跟主人亲热和跟主人游戏),你会怎么办?直接在Dog类中加入宠物的方法是可行的,并且不会影响到其他类,但是如果Cat类也需要有宠物的功能怎么办方法:把宠物的方法加入到父类Animal类里不就可人了吗方法之:采用方法一,但是把宠物的方法设定成抽象的,强道存个动物子类重写它。大法三我们做两个父类,一个动物类(Animal),尼物类(Pet)。专业专注创新
专业 专注 创新 使用接口的好处 如果你是Dog类的程序设计师,且必须修改Dog类让它 能够执行宠物的动作(跟主人亲热和跟主人游戏),你 会怎么办? 直接在Dog类中加入宠物的方法是可行的,并且不会影 响到其他类,但是如果Cat类也需要有宠物的功能怎么 办? 方法一:把宠物的方法加入到父类Animal类里不就可 以了吗? 方法二:采用方法一,但是把宠物的方法设定成抽象的, 强迫每个动物子类重写它。 方法三:我们做两个父类,一个动物类(Animal), 一个宠物类(Pet)。 ×××