您当前的位置:首页 > 职场资讯 > IT员分享

java中接口与抽象类的区别

来源:今日职场 时间:2017-09-16 作者:IT技术百货 浏览量:

java中接口与抽象类的区别

写在前面

这个问题是好多IT码农在面试中被问到的问题,但往往却不能够给出一个比较全面完美的回答,那么首先来说说为什么这个问题这么容易问到?

接口、抽象类与面向对象编程密不可分,如果理解不了接口和抽象类,那么就说明对面向对象的掌握不够好。这里小编给大家一个建议,学习一下面向对象的设计模式!本人在学习了java 23种设计模式之后,才对接口和抽象类有了一个更深层次的认识!几乎所有的设计模式里面都有用到,好像就单例模式中可能用不到,其他的都有用到。

java中接口与抽象类的区别

说说区别

1、定义接口的关键字是interface ,抽象类的关键字是abstract class

2、接口中的方法都是抽象的,抽象类中可以有方法的实现(即非抽象方法)

3、一个类可以实现多个接口,但只能继承一个抽象类,所以一般来说,可以使用接口实现的尽量使用接口实现。比如Runnable就比Thread使用频率高的多

4、接口和抽象类中都可以定义变量,但是接口中定义的必须是公共的、静态的、Final的,抽象类中的变量跟普通类中的没有区别。

5、抽象类可以包含静态方法,但是接口中不可以!

6、接口中的方法必须是public的,抽象类中的方法可以使public 和 protected的

7、从设计上来说,接口是对一系列行为的抽象,而抽象类是对事物的抽象。

总结未到之处,欢迎各位大神补充!

分享到:
官方微信

Copyright C 2018 All Rights Reserved 版权所有 今日职场人力资源服务 苏ICP备12049413号-3

地址:中国山东菏 鄄城县沭阳县软件园B栋10楼 电话(Tel):400-8005-185 EMAIL:305146227@qq.com

Powered By PHPYun.

用微信扫一扫