接口的知识点整理

接口
一.接口以interface关键字声明,且接口中的成员只能是public的
二.接口中只能有:

  • 静态常量,static final修饰 >>不写也会默认附上,在定义时必须初始化
  • .抽象方法(无方法体),abstract修饰>>不写也会默认附上
  • 静态方法,static >>必须显式写出
    只供当前接口使用,访问:接口名.静态方法名
  • default默认方法,可被子接口或实现类继承,访问:对象名.默认方法名

三、类使用implements关键字来实现接口,该类既是实现类

  • 实现类中的成员:该类自己的成员+实现的接口中的抽象方法
  • 实现抽象方法时必须使用完全相同的方法头,且访问权限为public( 接口中的成员皆为public),不能为缺省的
  • 实现类可以使用接口中的成员

四、父接口指向子类对象时(类似父类指向子类对象),该对象只能使用接口自己有的方法(覆盖的情况)
五、一个接口可以有一个以上的父接口(可实现多继承)
六、子接口可以继承父接口中除了静态方法以外的成员(常量,抽象方法,默认方法),static final 常量可被继承,static方法也不可被实现类所继承。
七、利用接口实现类的多继承有三种方法。
interface A
interface B
interface C extends A,B //C+A+B
class tt

  1. class cc implements C (cc,A,B,C) cc必须实现A,B,C三个接口中所有的抽象方法
  2. class cc implements A,B (cc,A,B) cc必须实现A,B 两个接口中所有的抽象方法
  3. class cc extends tt implements A,B (cc,tt,A,B) cc必须实现A,B两个接口中所有的抽象方法

八、子接口中若定义相同的默认方法,父接口中的将被隐藏。
九、方法名冲突问题——“委托”:在实现时使用父接口名.super.方法名   或  “新实现”:在实现时自己定义(覆盖)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值