抽象类(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)相同点及不同点说明