接口###

什么是接口

一种抽象类型,它定义了一组方法的声明,但没有提供这些方法的具体实现。接口可以看作是一种约定,规定了类应该具有哪些方法,但并不关心方法的具体实现。

接口和类的异同
  • 类可以包含具体的方法实现,而接口只能声明方法但不能实现。
  • 类使用关键字 class 来声明,而接口使用关键字 interface 来声明。
  • 类可以直接实例化对象,而接口不能被实例化,需要通过实现接口的类来创建对象。
  • 类之间使用继承来建立关系,而接口之间使用实现(implements)来建立关系,一个类可以实现多个接口。

接口的应用
  • 定义标准:接口定义了一组方法的规范,可以用来定义标准或约定,使得多个类具有相同的行为。
  • 实现多态:通过接口实现多态性,可以将不同的实现类对象作为接口类型使用,并且可以在运行时动态替换实现类对象。
  • 解耦代码:接口可以将代码分为不同的模块,减少代码的耦合度,提高代码的可维护性和可扩展性。
  • 回调机制:接口常用于实现回调机制,一个对象可以将自身的引用传递给另一个对象,在特定事件发生时被回调执行。
接口的规范

  • 方法声明:接口中只能包含方法的声明而不能包含方法体。方法默认是抽象的,不需要显式地加上 abstract 关键字。
  • 访问修饰符:接口中的方法默认为公共的(public),不能使用其他访问修饰符(如私有、受保护等)。
  • 常量定义:接口可以包含常量的定义,这些常量会被隐式地声明为 public static final,可以直接通过接口名称访问。
  • 默认方法:Java 8 引入了默认方法(default method),允许在接口中提供具体的方法实现。默认方法使用关键字 default 声明,在实现类中可以直接调用或重写。

 定义和使用

语法:
    访问权限修饰符 interface 接口名{
        
    }
可以定义:
    1,公共静态常量
    2,公共抽象方法
    3,公共静态方法
    4,default修饰的普通方法

接口使用接口:多继承  

含义:一个接口可以继承与多个接口
语法:
    访问权限修饰符 interface 接口名1 extends 接口名2,接口名3,...{
        
    }
注意:
    1,子接口不能继承与父接口的静态方法
    2,子接口继承多个父接口,多个父接口提供同样的方法,子接口必须重写该方法,因为子接口需要明确指定在发生方法冲突时应该使用哪个方法实现。

类使用接口

含义:一个类可以实现多个接口
语法:
    访问权限修饰符 class 类名 extends 父类名 implements 接口名1,接口名2,...{
        属性
        构造函数
        方法
        代码块
        静态代码块
    }
注意:
    1,子类不能继承与父接口的静态方法
    2,子类实现多个父接口,多个父接口提供同样的方法,子接口必须重写该方法,以解决方法冲突。 

常量接口

接口中只定义常量的接口称为常量接口

常量接口是一种特殊的接口,它仅包含常量的定义,没有方法的声明。常量接口通常用于存放常量的定义,这些常量可以被其他类直接使用。然而,根据Java编程规范的建议,不推荐使用常量接口,因为常量应该与相关的类进行关联,而不是与接口进行关联。

接口回调

接口回调指的是一个对象将自身的引用传递给另一个对象,以便在特定事件发生时被回调执行。接口回调常用于实现事件驱动、异步处理等场景。通过接口回调,可以实现对象之间的松耦合,使得程序更加灵活可扩展。在回调机制中,接口定义了回调方法的声明,而具体的回调方法实现则由实现接口的类来完成。

    1,创建接口对象
    2,创建A对象
    3,使用A对象调用a1方法传递接口对象
    4,使用A对象调用a2方法,a2方法中使用传入的接口对象调用接口方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值