抽象类(abstract class)和接口(interface)相同点及不同点说明

抽象类(abstract class)和接口(interface)相同点及不同点说明

转自:http://www.java265.com/JavaMianJing/202110/16353726031598.html

下文是笔者收集的抽象类及接口的相同及不同之处,如下所示:

抽象类和接口的相同及关联之处
   1.抽象类和接口都不能够实例化
   2.抽象类可以实现接口(同接口进行关联)
   3.抽象类也可以被抽象类继承
      如:一个类继承抽象类或接口,如果它不实现里面所有的方法时,
	   此时必须将这个类定义为抽象类,不实现的方法定义为抽象方法

抽象类和接口的不同之处
 1.抽象类中可以定义构造函数,接口不可以
 2.抽象类可以有具体的实现方法,接口中大部分都是抽象方法(除一个default方法外)
 3.抽象类的方法前的修饰符可以为private ,public protected,default
   接口中所有的方法必须为public,并且默认也是public 
 4.抽象类中可以定义成员变量,接口如果有成员变量,则是常量