接口使用细节

1)接口不能被实例化

2)接口中所有的方法是public方法,接口中抽象方法,可以不用abstract修饰

void aaa() 实际上  abstract void aaa();

3)一个普通类实现接口,就必须将该接口的所有方法实现

4)抽象类实现接口,可以不用实现接口的方法

 

5)一个类可以实现多个接口

6)接口中的属性,只能是final的,而且是public static fuinal修饰符。比如 int a = 1; 实际上是 public static final int a = 1;(必须初始化)

7)接口中属性的访问形式:接口名.属性名

8)一个接口不能继承其它的类,但是可以继承多个别的接口

9)接口的修饰符,只能是public或默认

实现接口和继承类的比较:

 小猴子继承了老猴子,所以会爬树。但是要想飞,得实现鸟接口,要想游泳,得实现鱼接口。接口实现像是对单继承的补充

1)接口和继承解决的问题不同

  • 继承的价值主要在于:解决代码的复用性和可维护性
  • 接口的价值主要在于:设计,设计好各种规范(方法)。让其它类去实现这些方法。即更加的灵活

2)接口比继承更加灵活

    接口比继承更加灵活,继承是满足 is a 的关系,而接口只需满足 like a 的关系

3)接口在一定程度上实现代码解耦(接口规范性+动态绑定)

原文地址:https://www.cnblogs.com/YXBLOGXYY/p/14798759.html