其他分享
首页 > 其他分享> > 抽象类和接口区别

抽象类和接口区别

作者:互联网


抽象类在类前面须用 abstract 关键字修饰,一般至少包含一个抽象方法,抽象方法指只有
声明,用关键字 abstract 修饰,没有具体的实现的方法。因抽象类中含有无具体实现的方
法,固不能用抽象类创建对象。当然如果只是用 abstract 修饰类而无具体实现,也是抽象

类。抽象类也可以有成员变量和普通的成员方法。抽象方法必须为 public 或 protected(若
为 private,不能被子类继承,子类无法实现该方法)。若一个类继承一个抽象类,则必须
实现父类中所有的抽象方法,若子类没有实现父类的抽象方法,则也应该定义为抽象类。

 


接口用关键字 interface 修饰,接口也可以含有变量和方法,接口中的变量会被隐式指定为
public static final 变量。方法会被隐式的指定为 public abstract,接口中的所有方法均不
能有具体的实现,即接口中的方法都必须为抽象方法。若一个非抽象类实现某个接口,必须
实现该接口中所有的方法。
区别:


1)抽象类可以提供成员方法实现的细节,而接口只能存在抽象方法;


2)抽象类的成员变量可以是各种类型,而接口中成员变量只能是 public static final 类型;


3)接口中不能含有静态方法及静态代码块,而抽象类可以有静态方法和静态代码块;


4)一个类只能继承一个抽象类,用 extends 来继承,却可以实现多个接口,用 implements
来实现接口。

标签:区别,实现,abstract,接口,抽象,抽象类,方法
来源: https://www.cnblogs.com/15078480385zyc/p/16539398.html