什么是接口:
·微观:接口是一种能力和约定
·宏观:接口是一种标准
接口与类的异同:
· 没有构造方法,仅可定义公开静态常量与公开抽象方法。
· public static int VALUE = 0;
· public static abstrator method();
接口的应用:
· Java为单继承,当父类的方法种类无法满足子类需求时,可实现接口扩充子类能力。
· class A implements InterfaceA , interfaceB {
//实现A接口的所有方法
//实现B接口的所有方法
}
接口的规范:
· 任何类在实现接口时,必须实现接口中所有的抽象方法,否则此类为抽象类。
· 实现接口中的抽象方法时,访问修饰符必须是public。
什么是常量接口:
· 将多个常用于表示状态
下面展示段代码
来帮助理解
public class TestUSB {
public static void main(String[] args) {
Computer c1 = new Computer();
c1.on(new Fan());
c1.on(new Fan() , new UDisk());
c1.on(new Fan() , new Lamp() , new UDisk());
}
}
class Computer {
USB u1;
USB u2;
USB u3;
public ovid on(){}
public void on(USB u1){
this.u1 = u1;
System.out.println("开机,进入操作界面...");
u1.service();
}
public void on(USB u1 , USB u2){
this.u1 = u1;
this.u2 = u2;
System.out.println("开机,进入操作界面...");
u1.service();
u2.service();
}
public void on(USB u1 , USB u2 , USB u3){
this.u1 = u1;
this.u2 = u2;
this.u3 = u3;
System.out.println("开机,进入操作界面...");
u1.service();
u2.service();
u3.service();
}
}
interface USB {
public void service();
}
class Fan implements USB {
public void service() {
System.out.println("旋转...");
}
}
class Lamp implements USB {
public void service(){
System.out.println("照明...");
}
}
class UDisk implements USB {
public void service(){
System.out.println("读取U盘数据...");
}
}