接口可以简单理解为一个方法全为抽象方法的抽象类,定义接口要用interface关键字实现接口要用implements关键字。
接口定义的特点:
1. 接口中的成员只能是常量(publicstatic final)和抽象方法(必须为 public abstract的)
2. 接口中的常量和方法没有明显标识为常量(public static final)和抽象方法(必须为public abstract的)的时,系统会默认他们是常量(public static final )和抽象方法(必须为 public abstract的)的。
3. 接口不能创建实例,因其方法是抽象的。子类必须实现接口的全部方法才能实例化,否则子类为抽象类。
4. 一个类可以实现多个接口,但只能继承一个父类(like a),接口可以集成接口。
5. 接口是对外暴露的规则,接口是程序功能的扩展,接口可以用来多实现。
应用:
class MainBoard{
public void run(){
System.out .println("running");
}
public void usePCI(PCI p){
p.open();
p.close();
}
}
interface PCI{
public abstract void open();
public abstract void close();
}
class SoundCardimplements PCI{
public void open(){
System.out.println("Sound card opened");
}
public void close(){
System.out.println("Sound card closed");
}
}
class NIC implementsPCI{
public void open(){
System.out.println("NIC opened");
}
public void close(){
System.out.println("NIC closed");
}
}
public classTextInterface {
public static void main(String[] args) {
PCIp1 = newSoundCard();
PCIp2 = newNIC();
new MainBoard().usePCI(p1);
new MainBoard().usePCI(p2);
}
}
运行结果:
Sound card opened
Sound card closed
NIC opened
NIC closed