接口
什么是接口?
语法:
public interface MyInterface { public void foo(); //其他方法
所有方法都是: public abstract
接口的特性
接口不可以被实例化
实现类必须实现接口的所有方法,除非自身也是抽象的
实现类可以实现多个接口
接口中的变量都是静态常量
如何使用接口
根据需求设计方法
实现所有方法
用多态的方式使用
编码实现:
编写接口
public interface UsbInterface { /** * USB接口提供服务。 */ void service(); }
实现接口
public class UDisk implements UsbInterface {//多个接口用逗号隔开 public void service() { System.out.println("连接USB口,开始传输数据。"); } }
使用接口
UsbInterface uDisk = new UDisk(); uDisk.service(); //用接口实现多态
如何理解接口是一种能力?
接口有比抽象类更好的特性:
1.可以被多继承
2.设计和实现完全分离
3.更自然的使用多态
4.更容易搭建程序框架
5.更容易更换实现 ……
抽象类vs接口
相同点 代表系统的抽象层 都不能被实例化 都能包含抽象方法 用于描述系统提供的服务,不必提供具体实现
不同点 在抽象类中可以为部分方法提供默认实现,而接口中只能包含抽象方法 抽象类便于复用,接口便于代码维护
一个类只能继承一个直接的父类,但可以实现多个接口

浙公网安备 33010602011771号