类在面对对象编程中,类代表着对象的类别。利用建模抽象来定义那些表露该抽象的对象的性质和行为。在这里,类的属性对应着对象的性质,在Java中由字段来表示,类的方法对应对象的行为,在Java中也是用方法来表示。类为对象提供了契约和实现。二者的区别在于契约定义了提供哪些服务,而实现定义了如何提供服务。
1、接口里所有的属性和方法都只能是静态的和public的2、接口中的方法不能有方法体
3、接口不能实例化对象
4、接口只能用implements实现,而不能用extends继承,但是接口继承接口时要用extends
5、一个类可以实现多个接口,只能继承一个类
6、实现接口的类必须要实现接口中的方法,但继承类可以不重写父类中的方法
7、接口的关键字是interface,类是class
抽象类和接口的区别主要如下:
实现方式不同。类型通过 extends 继承(或叫做扩展)一个抽象类,但是通过implements 实现一个接口;
方法定义方式不同。抽象类的抽象方法要通过 abstract 关键字声明,而接口的方法不用特别声明;
抽象类可以有private或protect字段和方法,而接口里面只能包含public方法(隐含,不用声明,默认就是public)
一个类只能继承一个抽象类,但是可以实现多个接口;
更多可以参考:
Interface vs Abstract Class in Java: What's the Difference?