What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2023-06-30
接口用于规范,抽象类用于共性。接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现,也可以定义非静态的类变量。抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。抽象类可以提供某些方法的部分实现,接口不可以.抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。再抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要重新编写(这就是为什么说接口是一个类的规范了)。接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。此外接口不能包含字段、构造函数、析构函数、静态成员或常量。
相关内容:
- What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
- what is the difference between ext2 and ext3
- 软件测试LoadRunner面试题:What is the difference between standard log and extended log?
- 软件测试LoadRunner面试题:What is correlation? Explain the difference between automatic correlation and manu
- 软件测试LoadRunner面试题:What is the difference between Overlay graph and Correlate graph?