接口
什么是接口?
生活中也有很多的接口,比如USB接口。
定义了接口就是定义了调用对象的标准。
接口基本语法
1、使用interface定义;
2、接口当中的方法都是抽象方法;因为抽象函数不能生成对象,因此接口也不能生成对象;
3、接口当中的方法都是public权限;
4、实现接口用implements关键字;
5、一个类可以实现多个接口,比如手机既可以支持USB,也支持WIFI;
6、一个接口可以继承多个接口;
实现接口用implements关键字
public class USBPhone implements USB{ }
下面还是用代码说明。
例一
定义一个USB.java接口
interface USB{ void read(); void write(); }
编写USBPhone.java文件,实现接口并对继承的对象方法进行复写:
public class USBPhone implements USB{ public void read(){ System.out.println("Reading"); } public void write(){ System.out.println("Writing"); } }
编写Test.java:
public class Test{ public static void main(String[] args){ USB u = new USBPhone(); u.read(); u.write(); } }
输出结果:
D:Javacode练习十>java Test
Reading
Writing
例二
新建一个WIFI接口:
interface WIFI{ void open(); void close(); }
对例一中USBPhone.java进行重命名为Phone.java,实现继承多个接口并对抽象方法进行复写:
public class Phone implements USB,WIFI{ public void read(){ System.out.println("USB is Reading"); } public void write(){ System.out.println("USB is Writing"); } public void open(){ System.out.println("WIFI is open"); } public void close(){ System.out.println("WIFI is close"); } }
修改Test.java:
public class Test{ public static void main(String[] args){ USB u = new Phone(); u.read(); u.write(); WIFI w = new Phone(); w.open(); w.close(); } }
输出结果为:
D:Javacode练习十>java Test USB is Reading USB is Writing WIFI is open WIFI is close
例三
A.java
interface A{ void funcA(); }
B.java:
interface B{ void funcB(); }
C.java,在C.java中继承A和B,而不是实现A和B的原因是接口当中的方法都是抽象方法,如果用implements就要对抽象方法进行复写。
interface C extends A,B{ void funcC(); }