Java—接口
一、接口定义
概念:开发中的接口,就是定义一个规范的约束条件,即定义一些抽象方法;接口编译之后也是一个class文件;
关键字:interface;
语法:
访问修饰符 interface 接口的名{
抽象方法();
}
注意事项:
-
- 接口中变量---都是静态的常量,默认使用 public/static/final 来进行修饰符;
- 接口中的方法:
- 接口中默认的方法使用 public/abstract 来进行修饰符;
- jdk1.8之前,接口中只能有抽象的方法;
- jdk1.8之后,接口中可以抽象方法,静态的方法以及默认的方法;在jdk1.9之后可以有私有方法;
- 接口中没有构造方法;
- 接口没有构造方法,接口不能实例化对象;
- 接口一般用于来约束实现类,用于提供实现类来实现接口;
二、接口实现
概念:实现接口的类,就是实现类;
分类:单实现和多实现;
-
- 单实现:只实现一个接口;
- 多实现:同时实现多个接口;
单实现:
语法:访问修饰符 class 类名 implments 接口名称{};
原则:实现类,必须实现接口中所有的抽象方法(若是抽象类,就可以不实现);
多实现:
语法:访问修饰符 class 类名 implements 接口名称1,接口名称2{};
原则:实现类,必须实现接口中所有的抽象方法;
注意:如果多个接口中定义同名的抽象方法时,实现类时只需要实现接口重名的一个方法就可以;
案例:
1 /* 2 需求: 3 定义笔记本类,具备开机、关机和使用USB设备功能 4 笔记本类,包含运行、关机、使用USB设备功能 5 USB接口,包含开启功能、关闭功能【实现USB】 6 键盘类,要符合USB接口【实现USB】 7 */ 8 9 //USB接口 10 interface USBInterface{ 11 void open(); 12 void close(); 13 } 14 15 //实现--键盘类 16 class KeyBoard implements USBInterface{ 17 @Override 18 public void open(){ 19 System.out.println("键盘开启...."); 20 } 21 22 @Override 23 public void close(){ 24 System.out.println("键盘关闭...."); 25 } 26 } 27 //实现--鼠标类 28 class Mouse implements USBInterface{ 29 @Override 30 public void open(){ 31 System.out.println("鼠标开启...."); 32 } 33 34 @Override 35 public void close(){ 36 System.out.println("鼠标关闭...."); 37 } 38 } 39 40 //笔记本 41 class NoteBook{ 42 public void open(){ 43 System.out.println("笔记本开启...."); 44 } 45 //接口 46 public void use(USBInterface usb){ 47 usb.open(); 48 usb.close(); 49 } 50 51 public void close(){ 52 System.out.println("笔记本关闭...."); 53 } 54 } 55 56 //测试类 57 public class test09 { 58 public static void main(String[] args) { 59 //实例化笔记本对象 60 NoteBook note = new NoteBook(); 61 note.open(); 62 //使用键盘类 63 USBInterface use1 = new KeyBoard(); 64 note.use(use1); 65 //使用鼠标类 66 USBInterface use2 = new Mouse(); 67 note.use(use2); 68 //关闭笔记本 69 note.close(); 70 } 71 }
三、类与接口之间的关系
类与类:只能单继承,多层继承;不能够多继承;
类与接口:单实现,多实现;
接口与接口:单继承,多继承、多层继承;
记录小白的成长

浙公网安备 33010602011771号