Java学习旅程 ---接口和抽象类的对比

抽象类

       当我们描述某一类的某一行为特征,但他们又大不相同,这时就可以利用抽象类,只是声明,而不实现具体的方法,需要用abstract 关键字进行修饰。

抽象类的特征:

  • 有抽象方面的类必须定义为抽象类,而抽象类可以不包含抽象方法;
  • 用abstract修饰;
  • 不可以实例化;
  • 一般用于子类去继承父类的方法extends。

接口

       接口算是抽象类的一种特殊形式,就是,要是类中的所有方法都是抽象方法就是接口。

接口的特征

  • 定义接口时默认使用 public abstract 来修饰;
  • 接口中的变量默使用“ public static final ”来修饰,即全集变量;
  • 用 interface 关键字
  • 子类通过实现(implements)的方式,来重写所有的抽象方法。
  • 也不能实例化对象。
  • 一个类可以实现多个接口,被实现的接口用逗号隔开
  • 继承的同时还可以实现接口

类比 

相同点:
1. 内部可以包含抽象方法
2. 都需要继承或者实现
3. 都不可以使用new关键字进行实例化
不同点
1. 继承--每一个类只能有一个父类;接口——每个类可以实现多个接口
2. 抽象类 可以拥有普通类有的一切内容 ;接口,静态 final 的属性,静态方法(不推荐使用),抽象方法

猜你喜欢

转载自www.cnblogs.com/sbxx/p/10702649.html