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

Posted java265

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象类(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.抽象类中可以定义成员变量,接口如果有成员变量,则是常量

抽象类 abstract class 接口

一.抽象类

1.没有具体的实例。 不可实例化,不能创建对象。

2.抽象类有构造器。

二、abstract 方法。

1.没有方法体。

 

 

子类必须重写抽象类的所有抽象方法,才能实例化,否则子类也为抽象类。

 

接口是抽象方法和常量值的定义的集合。 是一种特殊的抽象类。

接口中只包含常量和方法的定义,没有常量和方法的实现。

接口没有构造器。

implements

一个类可以实现多个接口,接口也可以继承其他接口。

 

接口和具体的实现类之间也存在多态性。

 

以上是关于抽象类(abstract class)和接口(interface)相同点及不同点说明的主要内容,如果未能解决你的问题,请参考以下文章

在谈PHP中的 抽象类(abstract class)和 接口(interface)

抽象类(abstract class)和接口(interface)Java面试题

Java中抽象类和接口的区别(abstract class VS interface)

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

抽象类(abstract class)和接口(Interface)的区别

抽象类(abstract class)和接口(interface)Java面试题