Java面试必知必会

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

2019-01-04  本文已影响38人  花生无翼

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

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

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

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

主要区别:

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读