1、接口关键字:interface
2、接口内部结构的说明:
可以声明抽象方法,属性由public static final修饰,但都会默认。
不可以声明:构造器,代码块等。
3、格式:class A extends SuperA implements B,C{}
A相当于SuperA来说 叫做子类。
A相对于B,C来说,叫做实现类。
4、类可以实现多个接口,一定程度上弥补了类的单继承性。
类必须将实现的接口中的所有的抽象方法都重写(或实现),方可实例化,否则,此实现类必须声明为抽象类。
5、可以实现多个接口,且可以多继承。
6、多态性:接口名 变量名 = new 子类对象;
7、抽象类与接口的区别
8、代码示例
package com.atguigu08.interface_apply;import com.sun.org.apache.bcel.internal.generic.NEW;public class USBTest {public static void main(String[] args) {Computer computer = new Computer();Printer p = new Printer();computer.transferData(p);}
}class Computer{public void transferData(USB usb){//多态: USB usb = new Printer()System.out.println("设备连接成功");usb.start();System.out.println("数据传输细节操作");usb.end();}
}class Printer implements USB{@Overridepublic void start() {System.out.println("打印机开始工作");}@Overridepublic void end() {System.out.println("打印机结束工作");}
}//接口
interface USB {void start();void end();
}