接口

本文深入解析Java接口的概念,包括接口的定义、特点、实现方式及作用,对比抽象类的区别,阐述接口如何解决多继承和单继承的局限性。

1、接口的概念

接口是功能的集合,是Java三大引用数据类型之一。

接口中所有的方法都是抽象方法,没有具体得实现,具体的实现由实现接口的类重写接口中的抽象方法完成。实际上是只在接口中定义了功能,将功能定义和实现进行了分离。

一切事物均有功能,一切事物均有接口。

2、接口的定义

接口的定义关键字为interface。接口文件为.java文件,编译后产生.class文件,可以将接口看成是一种包含功能声明的特殊类。

定义格式:

  public interface 接口名 {

  抽象方法1;

  抽象方法2;

  ……

  }

  • 接口中的抽象方法的修饰符为public
  • 接口中无法定义普通的成员变量

 

3、类实现接口

类和接口之间是实现关系,即类实现接口。类实现接口的关键字为implements。

格式:

  public class 类名 implements 接口名 {

    重写接口中的方法;  

  }

4、接口中成员的特点

  1. 接口中定义的变量有固定的修饰符,public static final,所以接口中定义的变量是常量,其值不能被改变
  2. 接口中定义的方法有固定修饰符,public abstract
  3. 接口不能创建对象
  4. 实现接口的子类必须覆盖接口中所有的抽象方法才能实例化

5、接口的多实现

接口的出现解决了多继承的弊端(多继承中,如果多个父类中有一样的方法,子类的实例化对象调用方法时就会产生不确定性,不知道该运行哪个方法主体)

6、类继承类的同时实现接口

子类继承父类,继承来的是都是子类应该具备的基本功能,如果子类想要扩展功能,可以通过接口来实现。

接口的出现解决了单继承的局限性。

7、接口的多继承

类之间只能单继承,接口与接口之间能够多继承。

8、接口的作用

  1. 接口的出现扩展了功能
  2. 接口其实就是暴露出来的规则
  3. 接口的出现降低了耦合性,即设备与设备之间实现了解耦合

9、接口和抽象类的区别

相同点:

  • 都位于继承的顶端,被其他类实现或继承
  • 都不能实例化
  • 都包含抽象方法,其子类都必须重写这些方法

区别:

  • 抽象类中可以有普通方法,避免子类重写这些方法,提高代码的复用性;接口中只能有抽象方法
  • 类与类之间只能是单继承;接口与接口之间能够多继承;类与接口之间类可以实现多个接口

抽象类与接口的选用:

  • 优先使用接口,少用抽象类
  • 需要定义子类行为,又要为子类提供共性功能时才使用抽象类

 

转载于:https://www.cnblogs.com/alphajuns/p/9802081.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值