接口,协议和抽象类

时间:2013-08-24 16:41:03

标签: java c++ class virtual-functions

在研究虚拟功能时,我遇到了三个术语 - 接口,协议,抽象类。

有人可以解释一下他们之间的差异吗?

2 个答案:

答案 0 :(得分:1)

界面: 接口是抽象方法的集合。类实现接口,从而继承接口的抽象方法。 抽象类: Java中的抽象类是一个包含一个或多个抽象方法的类,它们只是没有主体的方法声明 - 也就是说,没有实现类或方法的可执行代码。抽象方法就像一个方法的原型,声明方法的返回类型和参数列表,但不提供方法的实际实现。 注意:不了解协议

答案 1 :(得分:0)

我可以解释abstract classinterface之间的区别。
1。 interface :它是一组没有在接口中定义主体的方法。这意味着,在界面中你可以只声明方法,不能定义主体。必须在派生类中定义正文。
2。抽象类:它是接口和类的混合体。其中一些方法用body声明,一些方法声明为abstract。抽象意味着方法在类中声明,但没有在类中定义,就像接口一样。但是在抽象类中,您可以使用默认行为的方法,这在接口中是不可能的。在派生类中,必须定义所有抽象方法或派生类应声明抽象。