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

What is the difference between an interface and an abstract class in Java?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
What is the difference between an interface and abstract class?

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


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

一个接口只包含声明,没有实现,您可以实现任意多的接口。

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

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


这是我对两年前写的一些现实生活的例子的解释。-

Java Interfaces versus Abstract Class

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


嗯,这是一个非常广泛的问题,他们之间有很多不同,在这里不可能讨论所有的问题,你可以通过谷歌搜索得到好的答案,但是

一般来说,抽象类是一个部分实现的、部分未实现的结构,但接口是一个完全未实现的结构。