0
点赞
收藏
分享

微信扫一扫

abstract抽象类和interface接口的区别

一只1994 2022-02-16 阅读 203

abstract抽象类:

abstract关键字可以定义一个抽象方法,当定义出一个抽象方法时,必须将方法所在的类也用abstract关键字定义成为一个抽象类。在一个抽象类中,是可以使用任意的访问修饰符修饰变量或者方法的,抽象类中时可以定义变量,构造方法,普通方法,以及用abstract关键字修饰的抽象方法的。另外,抽象类也可以被其他类所继承,但只能extends继承一个class,并且当一个类继承了抽象类之后,必须在子类中“重写”抽象类中的抽象方法。

interface接口: 

  使用interface关键字修饰的类我们称为“接口”,在接口中,只能使用public访问修饰符,不能够定义变量,只能定义常量。接口中也不要允许有构造方法,在定义一个普通方法时,必须加上default关键字,同样的,接口中也可以定义抽象方法,只是可以不使用abstract关键字修饰。另外,当一个类需要实现一个接口时,要使用的是implements关键字,一个类可以implements实现多interface端口,像abstract一样,当一个类实现接口时,必须“重写”这个接口中的抽象方法。并且,interface接口之间直接允许多重extends继承。

小结: 

1,访问修饰符:abstract抽象类可以使用任意访问修饰符;interface接口只能使用public访问修饰符。

2,构造方法:abstract抽象类可以有构造方法;interface接口不允许有构造方法。

3,非抽象方法:abstract抽象类可以定义普通方法;interface接口需要使用default关键字定义方法。

4,抽象方法:abstract抽象类需要使用abstract关键字来定义抽象方法;interface接口也可以定义抽象方法,帆可以不适用abstract关键字。

5,继承:abstract抽象类只能使用extends继承一个class;interface接口可以implements多个interface接口并且接口之间直接允许多重extends继承。

举报

相关推荐

抽象(Abstract)和接口(interface)的区别

接口和抽象类的区别

0 条评论