接口同样可以实现向上转型、向下转型。接口好比一个标准,比如每台打印机都应该拥有开机、打印、关机,这三个标准。
接口的基本语法(一)
1、使用interface定义
2、接口当中的方法都是抽象方法
3、接口当中的方法都是public权限(你不写public也是public,而不会是default)
实现接口,不再用extends,而是用implements,实现接口。(“实现”是一种特殊的“继承”)
接口的基本语法(二)
1、实现接口使用implements关键字;
2、一个类可以实现多个接口;
3、一个接口可以实现多个接口;(只能extends继承一个类,但是能implements实现多个接口)
例子1:
接口
USB接口
interface USB{
public void read();
public void write();
}
WiFi接口
interface WiFi{
public void open();
public void close();
}
手机实现了USB和WiFi接口,并复写了方法
class Phone implements USB, WiFi{
public void read(){
System.out.println("USB read");
}
public void write(){
System.out.println("USB write");
}
public void open(){
System.out.println("WiFi open");
}
public void close(){
System.out.println("WiFi close");
}
}
接口向上转型
class Test{
public static void main(String args []){
Phone phone = new Phone();
USB usb = phone;//接口可以实现向上转型
usb.read();
usb.write();
WiFi wifi = phone;
wifi.open();
wifi.close();
}
}
例子2:
interface A{
public void funA();
}
interface B{
public void funB();
}
C接口extendsA和B接口,当其他类implements C的时候,就要同时复写funA funB funC三个方法
interface C extends A,B{
public void funC();
}