接口

简介: 接口

概念

物理接口

指的是两个硬件设备之间的连接方式。硬件接口既包括物理上的接口,比如我们所以说的USB接口

Java接口

在Java中,接口表示一种规范/约束/要求实现者必须遵循该规范:用来约束使用者应该怎么做

规范和实现相分离的好处

主板上提供了USB插槽,只要一个遵循了USB规范的鼠标,就可以插入USB插槽,并与主板正常通信。至于这个鼠标是谁生产的,内部是如何实现的,主板都不需要关心(只要遵循了USB规范就可以插在主板上使用)。当鼠标坏了的时候,我主板不会坏

Java接口定义

概念

Java接口也是表示一种规范,使用抽象方法来去定义一组功能,实现者必须给提供方法的实现。

接口定义

interface 接口名称 {
}

接口当中的注意点

  1. 接口是没有构造器,接口是不能创建对象。
  2. 接口当中定义变量,都是全局的静态常量。
  3. 接口当中定义的方法都是公共的抽象的方法。
  4. 接口是可以继承,它是可多继承。interface 接口名称 extends 继承的接口名, 继承的接口名

接口实现

格式

类名 extends 其它的类 (只能继承一个类)implements 其它的接口(接口可以实现多个)

// 爬行动物规范
interface Iwalkable {
  public abstract void walk();
}
// 水生动物
interface Iswimable {
  void swim();
}
// 两栖动物
interface Iamphibiousable extends Iwalkable, Iswimable {
}

class Animal {
  String name;
  String Color;
}
// Cat实现了Iwalkable接口
// 实现关系有时候也称它是继承关系
class Cat extends Animal implements Iwalkable,Iswimable{
  // 覆盖的时候,子类的方法权限要比父类大,或者一样大,不能比它小
  public void walk() {
    System.out.println("走猫步");
  }
  public void swim() {
  }
}

接口与抽象类区别

相同点

  1. 都是被其它类实现
  2. 都不能实例化
  3. 都可以定义抽象方法,定义的抽象方法子类都必须得要覆盖

不同点

  1. 接口是没有构造器,抽象类当中是有构造器
  2. 抽象类可以包含普通方法和抽象方法,接口当中只能有抽象方法,不能有普通方法(带有方法体)
  3. 接口当中默认成员变量,要有初始值,都是静态的
  4. 方法:接口当中默认方法 public abstract 方法名;抽象类、默认的权限

面向接口编程

概述

把实现类对象赋值给接口类型的变量,多态的好处:屏蔽了不同类之间实现差异,从而达到通用编程。

接口多态

把实现类赋值给接口运行时,运行的仍是实现类

相关文章
|
2月前
|
IDE C# 开发工具
C#系列之接口介绍
C#系列之接口介绍
|
3月前
|
前端开发 Java 数据库
你是这么写接口的么
你是这么写接口的么
10 0
|
3月前
使用接口
使用接口的时候,需要注意: 1.接口是没有静态代码块或者构造方法的。 2,一个类只能继承一个,但是一个类可以同时实现多个接口。 格式: public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB {} 3.如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次即可。 4、如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类就必须是一个抽象类。 5如果实现类锁实现的多个接口当中,存在重复的默认方法,那么实现类一定要对冲突的默认方法进 行覆善重写。 6.一个类如果直接父类当中的方法,和接口当中的默认
167 29
|
9月前
|
Java
接口2
接口2
46 1
|
9月前
|
Java
接口1
接口1
36 0
|
C# 索引
C#-接口
接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为。接口可有方法、属性、事件和索引器或这四种成员的任何组合类型,但不能包含字段。接口只包含了成员的声明,在继承的类中进行实现。
87 0
|
Java Maven
一文了解ConfigurationConditon 接口
在了解ConfigurationCondition 接口之前,先通过一个示例来了解一下@Conditional 和 Condition。
41 0
|
Java
接口详解介绍
接口详解介绍
110 0
|
JavaScript 前端开发 容器
56、GlobalEventHandlers 接口
某个对象的abort事件(停止加载)发生时,就会调用onabort属性指定的回调函数。 各种元素的停止加载事件,到底如何触发,目前并没有统一的规定。因此实际上,这个属性现在一般只用在<img>元素上面。
123 0