接口(学习java第九天)

一、接口引入

抽象类中定义的是该继承体系的共性功能。(是不是的关系)

广义的角度,接口的本质是契约,标准,规范。就像我们的法律一样。制定好后大家都要遵守

 狭义的角度,接口,是Java语言中一种引用类型,更多的体现在对行为的抽象,所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法(jdk9)。

接口中定义的是该继承体系的扩展功能。(能不能的关系)

二.接口的定义和使用

接口的定义,它与定义类方式相似,但是使用 interface关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型

接口的使用接口的使用,它不能创建对象但是可以被实现(implements ,类似于被继承)。一个实现接口的类(可以看做是接口的子类),需要实现接口中所有的抽象方法,创建该类对象,就可以调用方法了,否则它必须是一个抽象类。

接口的使用方式:
 *  1.接口不能实例化对象,不能new对象
 *  2.需要定义类实现接口,实现接口的关键字:implements
 *  3.重写接口中的抽象方法
 *  4.创建实现类的对象

三.接口中的成员变量和成员方法

  • 成员变量
    • 接口中,无法定义成员变量,但是可以定义常量,其值不可以改变。
    • 固定修饰符:public  static  final  数据类型  变量名=值;(常量)
 成员方法:固定修饰符    public abstract 返回值  方法名(参数列表);

   注:成员方法也可以省略掉abstract:public  返回值 方法名(参数列表)

也可以省略掉public abstract:返回值 方法名(参数列表);

四.类与接口之间的关系:多实现

  • 在继承体系中,一个类只能继承一个父类。而对于接口而言,一个类是可以实现多个接口的,这叫做接口的多实现。并且,一个类能继承一个父类,同时实现多个接口。
  • 类实现接口时,有多个抽象方法时,实现类必须重写所有抽象方法。如果抽象方法有重名的,只需要重写一次。

五.接口与接口之间的关系:多继承

  • 类与类之间是继承关系,单继承
  • 类和接口之间是实现关系,多实现
  • 接口与接口之间是继承关系,多继承

六.抽象类和接口的区别

  • 相同点
    • 都位于继承的顶端,用于被其他类实现或继承;
    • 都不能直接实例化对象;
    • 都包含抽象方法,其子类都必须覆写这些抽象方法;
  • 不同点
    • 抽象类为部分方法提供实现,避免子类重复实现这些方法,提高代码重用性;接口只能包含抽象方法;
    • 一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了Java的单继承)
    • 抽象类为继承体系中的共性内容,接口为继承体系中的扩展功能
  • 成员区别
    • 抽象类:变量,常量;有构造方法;有抽象方法,也有非抽象方法
    • 接口:常量;抽象方法
  • 关系区别
    • 类与类:继承,单继承
    • 类与接口:实现,可以单实现,也可以多实现
    • 接口与接口:继承,单继承,多继承
  • 设计理念区别
    • 抽象类:对类抽象,包括属性、行为
    • 接口:对行为抽象,主要是行为

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值