interface:接口 有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承,有了接口,就可以得到多重继承的效果
接口的使用1.接口使用interface来定义2.Java中,接口和类是并列的两个结构3.如何定义接口:定义接口中的成员 3.1 JDK7及以前:只能定义全局常量和抽象方法 >全局常量: public static final的 >抽象方法:public abstract的 3.2 JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法 4.接口中不能定义构造器的! 意味着接口不可以实例化5.Java开发中,接口通过让类去实现(implements)的方式来使用 如果实现类覆盖了接口中的所有抽象方法,则此实现类就可以实例化 如果实现类没有覆盖接口中的所有抽象方法,则此实现类仍为一个抽象类 6.java类可以实现多个接口 ———————>弥补了Java单继承性的局限性7.接口与接口之间可以继承,而且可以多继承8.接口的具体使用:体现多态性9.接口,实际上可以看做是一种规范接口的使用1.接口的使用满足多态性2.接口:实际上是定义了一种规范 */ public class USBTest { public static void main(String[] args){ Flash flash = new Flash(); com.transferData(usb); }}
class Computer{
public void transferData(USB usb){ //USB usb = new Flash(); usb.start(); System.out.println("具体的传输数据的细节"); usb.stop(); }} interface USB{ //常量:定义了长、宽、最大最小的传输速度等
void start(); void stop();}
class Flash implements USB{
@Override public void start() { System.out.println("U盘开启工作"); } @Override public void start() { System.out.println("U盘结束工作"); } class Printer implements USB { @Override public void start() { System.out.println("打印机开启工作"); } @Override public void start() { System.out.println("打印机结束工作"); } }}
接口的使用: 1.接口使用也满足多态性 2.接口,实际上就是定义了一种规范 3.开发中,体会面向接口编程!