Java学习笔记:接口 interface

*       java中的接口具备广泛的使用:

用法:

*           接口中可以包含多个方法,且方法跟抽象类中的抽象方法一致,可以不写实现,子类在实现的时候必须要实现代码逻辑
*           子类实现接口使用implements关键字

特征:

*           1、接口中的所有方法都是抽象方法,不能包含方法的实现
*           2、接口中的所有方法的访问修饰权限都是public,不写并不是默认访问权限,而是public
*           3、接口不能被实例化
*           4、接口的子类必须要实现接口中的所有方法,跟抽象类有所不同,抽象类中的抽象方法必须要被子类实现
*           5、子类可以拥有实现多个接口
*           6、接口中的变量都是静态常量,如果变量没有使用static关键字修饰,它也表示静态常量,不用final关键字修饰,也是常量
*           7、接口中的方法和常量无论是否添加public修饰,默认的权限有且仅有一个,就是public

接口的使用

* 接口代表一种能力,接口中可以定义N多个方法,子类在进行实现的时候, 必须要实现这些方法
*               将这些方法进行实现,就意味着具体了方法的能力
*               关心实现类有何能力,而不关心实现细节

抽象类和接口的区别

*           1、抽象类中的方法可以有抽象方法,也可以有普通方法,但是接口中只能包含抽象方法
*           2、抽象类需要使用abstract关键字来修饰,而接口使用interface关键字来修饰
*           3、子类使用extends关键字来继承抽象类,使用implements来实现接口
*           4、子类继承抽象类的时候必须要实现所有的抽象方法,普通方法可以不重写,而接口中的所有方法必须实现
*           5、抽象类中可以定义成员变量,而接口中只能定义静态常量
*           6、抽象类在子类实现的时候是单继承,而接口是多继承
*           7、抽象类和接口都不能实例化,但是抽象类中可以有构造方法,而接口中不能有构造方法
*           8、抽象类中可以实现接口,并且不实现接口中方法,而接口只能继承接口,不能实现接口
* 			9、接口中不能使用静态语句块,但仍然有变量初始化的赋值操作,因此接口和类一样都会生成<clinit>()方法。
* 			   但是接口与类不同的是,执行接口的<clinit>()不需要先执行父接口的<clinit>()方法。只有当父接口中
*              定义的变量使用的时候,父接口才会初始化。另外,接口的实现类在初始化的时候也一样不会执行接口的<clinit>()方法。
*       注意:
*           在实际的项目开发过程中,如果可以使用接口,尽量使用接口,将单继承的父类留在最关键的地方

注:
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值