在我的一次采访中,我被要求解释接口和抽象类之间的区别。
以下是我的回答:
Java接口的方法隐式抽象 并且不能有实现。Java抽象类可以有 实现默认行为的实例方法 Java接口中声明的变量默认为final。一个 抽象类可以包含非最终变量
Java接口的成员默认是公共的。Java摘要 类可以有常见的类成员,比如private, 保护等。< / p > Java接口应该使用关键字“implements”来实现;一个 Java抽象类应该使用关键字" extends "进行扩展 一个接口只能扩展另一个Java接口,一个抽象类 可以扩展另一个Java类并实现多个Java接口 Java类可以实现多个接口,但只能扩展 一个抽象类
但是面试官并不满意,他告诉我这个描述代表的是“书本上的知识”。
他让我给出一个更实际的回答,解释当我选择抽象类而不是接口时,使用实际的例子。
我哪里错了?