Abstract Class和Interface的区别

首先Abstract Class是抽象类,而Interface是接口,一个类可以继承多个接口,但是继承一个抽象类。下面我们用表格的形式统计一下两者的不同:

  Abstract Class Interface
实例化 不能实例化 不能实例化
类继承 一个类只能继承一个抽象类 一个类可以继承多个接口
数据成员 可以有自己的成员 必须是public static final类型,是静态的,不能修改
方法

可以有非抽象方法和抽象方法,对于抽象方法,子类中必须将其实现。

可以包含静态方法

所有的方法都是抽象的,子类不能对其进行重新定义,且必须实现。

不能包含静态方法

变量 可以私有,其值可以在子类中被重新定义和赋值 不可私有,且必须给定初始值,子类中不能将其重新定义和赋值
构造方法 可以有构造方法 不能有构造方法
实现 需要继承 需要实现

 

对象可以被foreach遍历的前提是:需要实现 IEnumerable 接口或声明 GetEnumerator 方法的类型

 

posted @   不负当下  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示