1.一个类使用关键字implements声明自己实现了一个或多个接口,如果实现多个接口,用逗号隔开。类的继承是单一的,但可以实现多个接口。
2.如果一个类实现了某个接口,此类会自动拥有接口中定义的常量和抽象方法。常量可以直接使用,但方法是抽象的,必须在类中提供具体的方法体,类才可以使用,否则该类就变成了抽象类,不能创建对象。
3.接口也是类型,可以定义引用,但不能创建对象。接口定义的引用可指向此接口的类创建的对象,并且通过此引用可调用接口中定义的方法。
4.接口(interface)可以说成抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量的类型默认为public static final,但接口和抽象类仍有区别,具体如下:
抽象类 | 接口 |
---|---|
可以有构造方法 | 不能有构造方法 |
可以有普通成员变量 | 没有普通成员变量 |
可以包含非抽象的普通方法 | 所有方法都必须是抽象的 |
可以包含静态方法 | 不能包含静态方法 |
静态成员变量的访问类型可以任意 | 定义的变量只能是public static final 类型,并且默认为这种类型 |
代码实现、代码重用 | 系统架构设计 |
另外,一个类可以实现多个接口,但只能继承一个类。