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{
@Override
public void start() {
System.out.println("打印机开始工作");
}
@Override
public void end() {
System.out.println("打印机结束工作");
}
}
//接口
interface USB {
void start();
void end();
}