Java 接口

本章目标

  • 掌握编程、实现、继承接口的语法

  • 掌握接口的好处

  • 掌握接口与多态的关系

  • 掌握抽象类与接口的区别


接口是什么

接口就是定义的一套规范或标准

接口的定义

在 Java 中使用关键字 interface 定义接口

语法格式

interface 接口名 {
   接口方法;
}

举例

interface  ICar  {
     public void start( );
     public void run( ); 
}

接口的特点

  • 使用 interface 关键字来定义接口

  • 接口中的方法都是抽象方法(只有方法签名,没有方法体)

  • 接口不能被实例化,接口可以被类实现,类实现接口使用 implements 关键字,一个类可以实现多个接口

  • 当一个类实现某一个接口时,必须实现这个接口中定义的所有抽象方法。否则这个类必须定义成抽象类

  • 接口中还可以定义成员变量,但这些变量默认是用public static fianl修饰的,变量值也不能更改(这种变量也可以叫作常量)

接口的使用

interface ICar {  //接口
    void start(); //接口方法
    void run();   //接口方法
}
​
class SportsCar implements ICar { //实现接口类
    public void start() { //实现接口方法
        System.out.println("启动跑车");
    }
​
    public void run() { //实现接口方法
        System.out.println("行驶跑车");
    }
}
​
ICar  car  =  new SportsCar( );
car.start( );
car.run( );

接口与实现类区别

接口:对外提供统一的接口方法,隐藏接口方法的实现细节

实现类:实现接口方法的所有细节,通常外部使用者并不需要关心方法的内部实现细节

接口的优点

  • 接口可以用来对类提供规范,避免类在设计上的不一致性

  • 接口可用于间接实现多重继承

  • 一定程度上保证了代码的安全性(使用者只需通过调用接口提供的方法,而隐藏方法的具体实现)

接口与抽象类的区别

相同点
  • 接口和抽象类都不能被实例化,它们都位于继承树的顶端,用于被其他的类实现和继承

  • 接口和抽象类都是可以包含抽象方法的,实现接口或是继承抽象类的普通子类都必须实现这些抽象方法

不同点
  • 接口只能包含抽象方法,不能包含已经提供实现的方法;抽象类则完全可以包含普通的方法

  • 接口不能定义静态方法;抽象类可以定义静态方法

  • 接口里面不能够包含初始化块;但是抽象类里面则完全可以包含初始化块

  • 一个类最多只能有一个直接父类,包括抽象类;但是一个类可以直接实现多个接口,通过实现多个接口可以弥补Java中的单继承的不足

  • 实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则必须全部是抽象方法

posted @ 2021-08-24 19:38  嘛了对就念来过倒  阅读(106)  评论(0编辑  收藏  举报