Java & C#中接口和抽象类的区别
在这篇文章中,我们将了解Java和C#中抽象类和接口之间的区别。
抽象类
它包含声明和定义部分。
不能使用抽象类实现多重继承。
它包含构造函数。
它还可以包含一些静态成员。
它可以包含多种类型的访问修饰符,例如public、private、protected。
抽象类的性能非常好,因为它很快。
它用于实现类的核心身份/功能。
一个类只能使用一个抽象类。
如果许多实现相同,并且它们具有共同的行为,则建议使用抽象类。
抽象类包含方法、字段、常量。
它可以完全实施、部分实施或什至不实施。
界面
它仅包含声明部分。
使用接口可以实现多重继承。
它不包含构造函数。
它不包含静态成员。
它包含公共访问修饰符,因为接口中的所有内容都被认为是公共的。
接口性能不好。
它很慢,因为它需要时间在相应的类中搜索实际方法。
它用于实现类的外围能力。
它可以使用多个接口。
如果多个实现共享方法,则可以使用“接口”。
接口只能包含方法。
它需要得到全面实施。