码迷,mamicode.com
首页 > 其他好文 > 详细

interface和abstruct比较

时间:2017-05-25 23:38:04      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:其他   实现   构造   产品   接口   变量   初始化   abs   初始化块   

像的地方:

  接口和抽象类都不能实例化,都位于继承树的顶端,用于被其他类实现和继承

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

差别:

  设计目的不同:

    接口是系统与外界交互的窗口,体现的是一种规范,是系统的总纲

    抽象类是多个子类的父类,体现的是一种模板式设计,是系统实现过程的中间产品

  用法区别:

    接口里只能包含抽象方法和默认方法,不能为普通方法提供实现,抽象类则可以包含普通方法

    接口里不能定义静态方法,抽象类里可以定义静态方法

    接口里只能定义静态变量,不能定义普通变量,抽象类则既可以定义静态变量,也可以定义普通变量

    接口里不含构造器,抽象类包含构造器,其构造器不用于创建对象,而是让其子类调用这些构造器来完成属于抽象类的初始化操作

    接口里不能包含初始化块,抽象类可以包含初始化块

    一个类只能有一个父类,包括抽象类,但可以实现多接口,弥补java单继承的不足

interface和abstruct比较

标签:其他   实现   构造   产品   接口   变量   初始化   abs   初始化块   

原文地址:http://www.cnblogs.com/zawjdbb/p/6906038.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!