Java中的接口和抽象类有什么区别?

时间:2012-04-17 05:33:45

标签: java

  

可能重复:
  What is the difference between an interface and abstract class?

Java中的接口和抽象类有什么区别?为什么我要用一个而不是另一个?

3 个答案:

答案 0 :(得分:3)

抽象类可以包含实现,但它是一个类,您只能扩展一个类。

接口只包含声明而没有实现,您可以根据需要实现任意数量的接口。

如果您不需要实现任何方法,请使用接口。

如果必须实现一个方法,请使用抽象类,但考虑让它实现一个接口。这将允许您在不能使用抽象类的情况下使用替代实现,例如由于多重继承的不可能性。

答案 1 :(得分:0)

这是一个非常广泛的问题,它们之间存在很多差异,这里不可能讨论所有这些问题,你可以谷歌来获得好的答案,但是

一般来说,抽象类部分实现的部分未实现的结构,但接口完全未实现的结构 < / p>

答案 2 :(得分:0)

以下是我对2年前编写的一些现实生活中的例子的解释 -

http://karthikjcecs.wordpress.com/2009/01/14/java-interfaces-versus-abstract-class/

希望它能帮助您更好地理解。