关于接口和抽象类的总结分享

面试的时候老是会被问接口和抽象类的区别,我想大家的回答可能都是从网上看来的千篇一律,看到过一句话“当你和别人的努力都是一样时,那证明你没有努力“你会的比别人多一点深一点才是你的闪光点。不说废话

  1.抽象类有默认方法的实现,而接口完全是抽象的不存在方法的实现。


 2.抽象类中可以写main方法可以运行,和其他类型不抽象的方法,而接口中方法默认为public static fial的并且不能写main方法。


 3.抽象类中子类使用extends关键字来继承抽象类。如果子类不是抽象类的话,它需要提供抽象类中所有声明的方法的实现,而接口中子类使用关键字implements来实现接口。它需要提供接口中所有声明的方法的实现。

  4,抽象类可以继承一个类实现多个接口,接口实现一个或多个接口。

  5,抽象类比接口的速度要快,接口类稍慢,因为需要时间寻找类中实现的方法

  6,如果你往抽象类中添加新的方法,你可以给它提供默认的实现。因此你不需要改变你现在的代码。如果你往接口中添加方法,那么你必须改变实现该接口的类。

什么时候使用抽象类和接口

  • 如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类吧。
  • 如果你想实现多重继承,那么你必须使用接口。由于Java不支持多继承,子类不能够继承多个类,但可以实现多个接口。因此你就可以使用接口来解决它。
  • 如果基本功能在不断改变,那么就需要使用抽象类。如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类。

参考文章:   http://www.importnew.com/12399.html


猜你喜欢

转载自blog.csdn.net/qq_39264897/article/details/80089679
今日推荐