公司名称:西安达内科技

联系人:张 先生 (seo)

电话:029-82222601

传真:

手机:

Java抽象类与接口的异同

发布时间:04月22日

详细说明

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。下面西安达内培训(www.xatarena.cn)就为大家整理了Java抽象类与接口的区别,希望对想要参加达内西安java培训的小伙伴们有所帮助。

抽象类:用abstract修饰的类称为抽象类。

它可以有构造器,但是不能构造对象,抽象类中的构造器,在构造具体子类对象时调用,抽象方法决定抽象类,抽象类中可以没有抽象方法,具体父类型可以作为引用类型的声明;抽象父类型也可以作为引用类型的声明;如果一个具体子类继承抽象类,那么就要实现抽象父类中的所有抽象方法;在子类中重写父类方法时,访问级别要大于等于原有访问级别;

接口:是一种统一的标准,是一个特殊的"模版"

接口中只能有:1、常量2、抽象方法;在定义方法时,具体类可以做形参,抽象类可以作形参,接口可以做形参;无论谁做形参,实参一定是具体类对象!(具体父类的具体子类;抽象类的具体子类;接口的具体实现类;)类可以在继承一个父类的基础上,实现多个接口;

抽象类与接口的异同:

相同处:1、不能构造对象2、都可以定义抽象方法3、设计的目的是为了被继承或被实现4、与子类或实现类的关系都属于is-a,可以用抽象类或接口的引用来作类型声明,进而统一调用具体子类或具体实现类;

西安达内科技


联系人:张 先生 (seo)
电 话:029-82222601
传 真:
手 机:
Q Q:
地 址:中国陕西西安市陕西省西安市兴庆南路10号交大出版大厦6层
邮 编:
网 址:http://xadnitpx.yiwz.com(加入收藏)