当一个类中声明了一个抽象方法,那么这个类就变成了抽象类(方法或类被abstract修饰)
接口是指方法的集合,只声明方法,没有方法体(interface)。
接口与抽象类的区别:
- 接口和抽象类都不能被实例化
- 接口强调特定功能的实现(has-a);抽象类强调所属关系(is-a)
- 接口只能定义,方法不能再接口中实现,实现类才可以实现接口中的方法;抽象类可以定义也可以实现
- 接口只是表现形式,没有空间分配,所以不能有main方法;抽象类可以有并且可以运行
- 接口中成员变量默认是public static final,且只能被public、abstract修饰;抽象类可以是public,protected,default
- 接口只能被实现,抽象类被继承,一个类只能继承一个抽象类,但是可以实现多个接口,变相的解决了java不能多继承,只能多重继承的问题