接口和抽象类的区别每个开发在面试或笔试的时候都会被问到,不管大中小厂子,好像都必问一下。网上答案也很多,这里根据自己的总结用尽最简单的话语描述一下(不对的地方欢迎纠正): 抽象类(abstract)跟接口(interface)最大的一个区别就是:一个类只能继承一个父类,而一个类可以实现多个接口。 虽然二者都是面向对象中的部分抽象,但是接口一般是对动作行为的抽象,而抽象类是对实体根源本质上的一种抽象。是不是看到这些文字有点费脑筋去理解了?没事! 栗子走起: 现在有一个人的抽象类human和一个鱼的抽象类fish,假如你要新创建new一个人,只能extends人的抽象类human,然后实现所有人该有的方法:说话,走路,思考等等。没有创建人是extends 鱼的抽象类的,更加没有人又是人又是鱼(肯定有人杠精说美人鱼哈哈哈),所以继承就必须是单继承,父类决定类子类的本质是人还是鱼。抽象类里的方法可以有部分是public(公开的)的,或者private的(自己私有的),protect的(传家宝)。 而接口是对动作行为方法的抽象,所以当我们把游泳看作一个动作的抽象时候,就能