在研究虚函数时,我遇到了三个术语—— 接口、协议、抽象类。
谁能解释一下它们之间的区别?
接口:接口是抽象方法的集合。一个类实现了一个接口,从而继承了接口的抽象方法。 抽象类:Java 中的抽象类是包含一个或多个抽象方法的类,这些抽象方法只是没有主体的方法声明,即没有实现类或方法的可执行代码。抽象方法就像方法的原型,声明方法的返回类型和参数列表,但不提供方法的实际实现。 注意:不了解协议
abstract class
我可以解释和之间的区别interface
。
1.接口:它是一组在接口中没有定义主体的方法。这意味着,在接口中你可以只声明方法,不能定义主体。主体必须在派生类中定义。
2.抽象类:它是接口和类的混合体。其中一些方法用主体声明,一些方法声明为抽象。抽象意味着方法在类中声明,而不是在类中定义,就像接口一样。但是在抽象类中,您可以拥有具有默认行为的方法,这在接口中是不可能的。在派生类中,必须定义所有抽象方法或派生类应声明抽象。