接口和抽象类异同

来源:互联网 发布:js timer控件 编辑:程序博客网 时间:2024/04/29 12:44

相同点:

1、都不能被实例化,它们都位于继承树的顶端,用于被其他类实现和继承

2、都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法

不同点:

接口

抽象类

作为系统与外界交互的窗口,体现的是一种规范

作为系统中多个子类共同的父类,体现的是一种模版设计

只能包含抽象方法

可以包含普通的已经实现的方法

不能定义静态方法

可以定义静态方法

只能定义静态常量Field,不能定义普通Field

既可以定义普通Field,也可以定义静态常量Field

不包含构造器

包含构造器

不能包含初始化块

可以包含初始化快

一个类可以实现多个接口

一个类最多只能有一个直接父类


原创粉丝点击