JAVA

接口和抽象类有什么区别

2018-11-10  本文已影响0人  刺風

一、抽象类和普通类的区别:
包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,和普通类一样,同样可以拥有成员变量和普通的成员方法,抽象类和普通类的区别如下:

  1. 抽象方法的访问修饰符必须为public和protected;
  2. 抽象类不能被实例化;
  3. 如果一个类继承于抽象类,则子类必须实现父类的抽象方法,如果子类没有实现父类的抽象方法,则子类必须也一个抽象类。

二、抽象类和接口区别如下:

  1. 抽象类内部可以有方法的实现细节,而接口中只能存在public abstract方法;
  2. 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
  3. 接口中不能含有静态代码块以及静态方法,而抽象类中可以有静态代码旷和静态方法;
  4. 一个类只能继承一个抽象类,而一个类可以实现多个接口。
上一篇 下一篇

猜你喜欢

热点阅读