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 }

 

三、类与接口之间的关系

   类与类:只能单继承,多层继承;不能够多继承;

  类与接口:单实现,多实现;

  接口与接口:单继承,多继承、多层继承;

 

posted @ 2023-02-14 15:21  阁主想睡觉  阅读(76)  评论(0)    收藏  举报