面向对象下——接口

面向对象下——接口,第1张

面向对象下——接口 接口 引入

现实生活中,”接口“随处可见,比如我们熟悉的USB接口、插座等,手机、录像机要想通过USB接口与电脑连接,就要遵循USB接口的规范,而电脑则需要提供USB接口供手机、录像机插入使用

在Java语言中,接口中声明的方法即是使用该接口需要遵循的规范,而某一类如果想使用该接口,就需要重写接口中所声明的方法

介绍

接口中给出了一些没有实现的方法,将这些方法封装到一起,某个类要使用的时候,再根据具体情况把这些方法写出来

语法
  • 声明一个接口
//声明一个接口
权限修饰符 interface 接口名{
    //属性
    //方法
}
  • 使用接口
//使用接口
class 类名 implements 接口{
    //属性
    //方法(必须实现接口中的抽象方法)
}
//使用接口中声明的属性
接口.属性l
细节
  1. 接口的修饰符只能是:①public②默认,即和类的修饰符一样
  2. 在接口中,所声明的方法都要为public型的方法,所声明的抽象方法可以省略abstract关键字
  3. 接口中声明的方法可以有三种类型:①抽象方法②静态方法③默认方法(default修饰)
  4. 接口中的属性只能是final的,并且均用public static final修饰。如果没有显示的使用public static final修饰符,那么程序会默认使用public static final修饰(属性被static修饰,则可以直接通过接口名.属性名访问该属性,而被final修饰意味着属性值不能被修改)
  5. 接口不能被实例化(接口相当于定义了一系列的规范)
  6. 如果一个类实现该接口,就必须把接口中的所有方法都实现(alt+enter)
  7. 抽象类实现接口,可以不用实现接口的方法
  8. 一个类可以是实现多个接口
  9. 接口不能继承其他的类,但可以继承多个其他的接口
接口vs继承

接口可以理解为对单继承机制的一种补充,子类继承父类将继承父类中已有的功能,如果子类想添加一些额外的功能,可以通过接口的方式实现扩展(当然也可以在子类中声明)

  1. 接口与继承解决的问题不同,继承解决代码的复用性和可维护性,而接口主要是设计各种规范(方法),其他类可以去实现这些规范
  2. 接口(like a)比继承(is a)更灵活
  3. 接口在一定程度上实现代码解耦(接口的规范性+动态绑定机制)
接口的多态
  1. 多态参数:接口类型的变量可以指向实现了接口的类的实例

  2. 多态数组

  3. 接口的多态传递(相当于子类继承父类,父类再向上继承父类的父类,那么子类也继承了父类的父类)

应用场景

项目经理管理三个程序员,功能开发一个软件,为了控制和管 理软件项目经理可以定义一些接口,然后由程序员具体实现。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5693286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存