6.6.4 使用接口

6.6.4 使用接口

实现类赋值给接口引用变量

接口不能用于创建实例,但接口可以用于声明引用类型变量。当使用接口来声明引用类型变量时,这个引用类型变量必须引用到其实现类的对象。除此之外,接口的主要用途就是被实现类实现。

接口用途

归纳起来,接口主要有如下用途

  1. 定义变量,也可用于进行强制类型转换。
  2. 调用接口中定义的常量。
  3. 被其他类实现。

实现接口可以获得所实现接口里定义的常量(成员变量)、方法(包括抽象方法和默认方法)

implements必须放在extends之后

一个类可以继承一个父类,并同时实现多个接口, implements部分必须放在extends部分之后

非抽象类必须全部实现接口中定义的抽象方法

一个类实现了一个或多个接口之后,这个类必须完全实现这些接口里所定义的全部抽象方法(也就是重写这些抽象方法);

抽象类可以不重写接口抽象方法

抽象类可以保留从父接口那里继承到的抽象方法。

实现接口方法是只能使用public访问控制修饰符

实现接口方法时,必须使用public访问控制修饰符,因为接口里的方法都是public的,而子类(相当于实现类)重写父类方法时访问权限只能更大或者相等,所以实现类实现接口里的方法时只能使用public访问权限。

接口不能显示继承任何类

接口不能显式继承任何类,但所有接口类型的引用变量都可以直接赋给Object类型的引用变量。