接口就像多功能插头。例如
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就成了神兽了。