接口就像多功能插头。例如
USBInterface.java
/*** USBInterface.java ***/package test;public interface USBInterface{ public Object getData();}
Camera.java
/*** Camera.java ***/package test;public class Camera implements USBInterface{ public Object getData() { //TODO 自动生成方法存根 return "图像数据"; }}
UStorage.java
/*** UStorage.java ***/package test;public class UStorage implements USBInterface{ public Object getData() { //TODO 自动生成方法存根 return "U盘数据"; }}
Computer.java
/*** Computer.java ***/package test;public class Computer{ public void getUSBData(USBInterface usb) { System.out.println(usb.getData()); }}
Main.java
/*** Main.java ***/package test;public class Mytest{ public static void main(String[] args) { Computer c = new Computer(); c.getUSBData(new Ustorage()); c.getUSBData(new Camera()); }}
USBInterface.java中就定义了一个接口,里面声明了方法,其他类里面使用时,只需要实现这个接口即可(getData方法都有重写),其实抽象类和接口刚开始理解是有点难,但学到后面就好理解了。
/********************************************************************/
Cat.java
interface Cat(){ public void catchLaoshu();}
QingWa.java
interface QingWa(){ public void catchChong();}
Something.java
class Something implements Cat,QingWa{ public void catchLaoshu() { //TODO Auto Generate Method Sub; } public void catchChong() { //TODO Auto Generate Method Sub; }}
接口意义重大,使用也是很简单的。首先你应该要知道java里是单继承的,就是一个类只能继承一个类。比如这个时候你定义一个类 叫 Something(某物),Something会抓老鼠,那么这个时候你就可以继承Cat(猫)这个类,因为猫里面有抓老鼠的方法,你继承了,你也会抓了。但是这个时候一个新问题来了,Something还想会抓害虫啊,由于你已经继承了猫了,那么你就不能继承青蛙了,这样你就弄不到抓虫的方法啊。那么这时候接口就来了,你可以把猫和青蛙都定义成接口,里面有抓老鼠和抓害虫的方法,Something你就可以试想两个接口了(接口可以实现多个),这样你就抓老鼠会了,抓害虫也会了。Something就成了神兽了。