区别:
1.本质区别是抽象类描述这个类是什么,而接口则是描述这个类可以做什么功能。
2.接口的方法都是publice
3.抽象类被继承时,子类要实现父类所有抽象方法,要overwrite关键字
4.抽象类可以包含字段和普通方法
5.继承时,基类只能有一个,接口可以有多个
共同点:
1.继承抽象类和抽象类时,都要实现他们所有的方法
2.它们都不可以被实例化
抽象方法、虚方法、普通方法
1.继承抽象类时,如果要使用父类中的普通方法,加一个new关键字隐藏(如:public new void Add)
2.虚方法和普通方法差不多,但有个vritual关键字,虚方法和抽象方法不同,它必须被实现。虚方法可以被覆写,
抽象方法在子类中必须被实现(覆写overwrite)
1.普通方法的调用,由编译时决定(由左边类型决定)
2.抽象方法和虚方法的调用,由运行时决定(由右边类型决定)
时间: 2024-10-09 22:16:31