「Java面试必会」谈谈接口和抽象类有什么区别?

大家都是程序员,平时写代码写的最多的也是业务,代码很多都是CRUD(增删改查),那怎么能看出一个人的代码功力,除了bug写的少以外,更多的还是用到一些设计模式,对面向对象理解的更好一些。

涉及到Java基础知识的题,有一道特别典型——“接口和抽象有什么区别?”,高级很少问这个问题,初中级问的很多,主要还是考察基本功。接口平时工作用的多一些,抽象用的少一些,具体答案是什么?先看下基本概念。

抽象类: 包含抽象方法的类称为抽象类,主要是为了代码重用。

接口:泛指供别人调用的方法或者函数,对行为抽象,是抽象方法的集合。我们定义了接口,还有实现它的实现类,这就是利用接口把定义方法和实现实现分开了。

主要区别:

1.接口是平时写代码中最常见的关键字之一,即interface,实现接口用关键字implements;抽象类不能实例化,用abstract关键字修饰;

2.抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的,接口的字段都隐含着public static final;

3.一个类只能继承一个抽象类,而一个类却可以实现多个接口。

平时工作上常用到的工具类,很多都是抽象的非常好的,常看看开源的工具类对于我们理解接口和抽象很多好处。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 11,959评论 0 62
  • 你走之后 山中虎,也孤寂 水中蛟,也翻腾 抚琴(羽) 青衣青竹 山河万里遥 剑入心...
    唐无尽藏阅读 1,180评论 0 0
  • 今天忙碌了一整天,修改论文修改了一整天,不过精神状态竟然还不错,比那些累到倒头就睡的同学好了很多,而且还精神奕奕的...
    少女梓涵阅读 2,532评论 0 0

友情链接更多精彩内容