6.2接口

6.2接口
只定义规范/协议,而不提供实现。是一种松耦合的设计
6.2.1定义接口:只支持单一继承,允许一个实现多个接口。
语法:
【访问符】interface接口名【extends父接口1,父接口2,…】{
//接口体}
接口名去调用一定是静态变量(常量)
接口名首字母大写
语法说明 :

  1. 访问符可是public或缺省,即在相同才可以访问接口
  2. 一个接口可以继承多个接口,但只能继承接口,不能继承类
  3. 接口体里可以包含静态常量,抽象方法内部类,内部不接口以及枚举
  4. 默认接口
    6.2.2
    实现接口
    可以使用接口声明引用类型的变量一个类可以实现一个或多个接口。
    语法:
    【访问符】class类名implements 接口1【接口2…】{//类体}
    ①implements 关键字用于实现接口
    ②一个类可以实现一个或多个接口时,这个类必须完全实现这些接口中定义所有抽象
    ③一个类在实现一个或多个接口时,这个类必须完全实现这些接口中定义所有抽象方法
    ④一类实现某个接口时,该类获得接口定义的常量方法等,接口是一种特殊的继承
    是一种更加抽象的类结构,因此不能对接口直接实例化
    可以声明接口变量并用接口变量指向当接口实现类的实例
    6.2.3接口继承
    可以有多个父接口。
    注;java 源文件中可以有多个接口和类,,但最多只能有一个接口或类是public,且该源文件的文件必须与public接口一致。
    接口与抽象相似特征
    相似之处:
    接口和抽象类都不能被实例化。
    接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法。
    不同之处:
    1.接口里只能包含抽象方法、静态方法和默认方法,不能为普通方法提供实现,而抽象类可以。
    2.接口里只能定义常量,不能定义普通成员变量,抽象类则可以。
    3.接口里不包含构造器;抽象类可以包含构造器,但抽象类里的构造器并不是用于创建对象,而是让其子类调用这些构造器来完成属于抽象类的初始化操作。
    4.接口里不能包含初始化块;但抽象类则完全可以包含初始化块。
    5.一个类最多只能有一个直接父类(包括抽象类);但一个类可以实现多个接口,通过实现多个接口可以弥补Java单继承的不足。
    面向接口编程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值