6.6.4 使用接口
6.6.4 使用接口
实现类赋值给接口引用变量
接口不能用于创建实例,但接口可以用于声明引用类型变量。当使用接口来声明引用类型变量时,这个引用类型变量必须引用到其实现类的对象。除此之外,接口的主要用途就是被实现类实现。
接口用途
归纳起来,接口主要有如下用途
- 定义变量,也可用于进行强制类型转换。
- 调用接口中定义的常量。
- 被其他类实现。
实现接口可以获得所实现接口里定义的常量
(成员变量)、方法(包括抽象方法和默认方法)
implements必须放在extends之后
一个类可以继承一个父类,并同时实现多个接口, implements
部分必须放在extends
部分之后。
非抽象类必须全部实现接口中定义的抽象方法
一个类实现了一个或多个接口之后,这个类必须完全实现这些接口里所定义的全部抽象方法(也就是重写这些抽象方法);
抽象类可以不重写接口抽象方法
抽象类可以保留从父接口那里继承到的抽象方法。
实现接口方法是只能使用public访问控制修饰符
实现接口方法时,必须使用public
访问控制修饰符,因为接口里的方法都是public
的,而子类(相当于实现类)重写父类方法时访问权限只能更大或者相等,所以实现类实现接口里的方法时只能使用public
访问权限。
接口不能显示继承任何类
接口不能显式继承任何类,但所有接口类型的引用变量都可以直接赋给Object
类型的引用变量。