可能重复:
What is the difference between an interface and abstract class?
Java中的接口和抽象类有什么区别?为什么我要用一个而不是另一个?
答案 0 :(得分:3)
抽象类可以包含实现,但它是一个类,您只能扩展一个类。
接口只包含声明而没有实现,您可以根据需要实现任意数量的接口。
如果您不需要实现任何方法,请使用接口。
如果必须实现一个方法,请使用抽象类,但考虑让它实现一个接口。这将允许您在不能使用抽象类的情况下使用替代实现,例如由于多重继承的不可能性。
答案 1 :(得分:0)
这是一个非常广泛的问题,它们之间存在很多差异,这里不可能讨论所有这些问题,你可以谷歌来获得好的答案,但是
一般来说,抽象类是部分实现的部分未实现的结构,但接口是完全未实现的结构 < / p>
答案 2 :(得分:0)
以下是我对2年前编写的一些现实生活中的例子的解释 -
http://karthikjcecs.wordpress.com/2009/01/14/java-interfaces-versus-abstract-class/
希望它能帮助您更好地理解。