`
trinityblood
  • 浏览: 117027 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java 抽象类与接口

    博客分类:
  • Java
阅读更多
java中只可以继承一个类却可以继承多个接口。一个抽象类的实现只能由这个抽象类的子类给出,也就是说,这个实现处在抽象类所定义出的继承的等级结构中,而由于Java语言的单继承性, 所以抽象类作为类型定义工具的效能大打折扣(只能是定义为一种类型,可以结合接口使用)。在这一点上,Java接口的优势就出来了,任何一个实现了一个Java接口所规定的方法的类都可以具有这个接 口的类型,而一个类可以实现任意多个Java接口,从而这个类就有了多种类型。


抽象类可以提供一些方法的实现。Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供一些方法的实现,而Java接口不可以,这大概就是 Java抽象类唯一的优点吧,但这个优点非常有用。如果向一个抽象类里加入一个新的具体方法时,那么它所有的子类都一下子都得到了这个新方法,而Java 接口做不到这一点,如果向一个Java接口里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为你必须让每一个类都再实现这个方法才行,这 显然是Java接口的缺点。


abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,体现的是继承的关系;interface表示的是"like-a"关系,体现的是一种契约关系,并不要求interface的实现者和interface定义在概念本质上是一致的。


综合以上几点:
抽象类:只可以继承一个抽象类,却可以提供一些方法的实现,体现的是继承关系。
接口:可以继承多个接口,却不能提供方法的实现,体现的是契约关系。
我们定义抽象类型的时候可以使用抽象类,定义一些次要行为时就可以使用接口。


转自 http://www.iteye.com/topic/641865
分享到:
评论

相关推荐

    java抽象类与接口实例java抽象类与接口实例

    java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例...

    Java抽象类与接口实验报告

    Java抽象类与接口实验报告

    java抽象类与接口区别

    ### Java抽象类与接口的区别 #### 一、引言 在Java编程中,抽象类(Abstract Class)与接口(Interface)都是实现抽象的关键工具。它们各自有着独特的优势和适用场景,掌握这两者的区别有助于开发者更好地设计系统...

    实验5:Java抽象类与接口.doc

    Java 抽象类与接口实验报告 一、实验目的及要求 本实验的目的是掌握 Java 中的抽象类和接口的概念及其应用。通过本实验,学生将了解抽象类和接口的定义、特点及使用场景,并掌握如何使用抽象类和接口来描述不同的...

    java 抽象类与接口的练习

    接口与抽象类的选择取决于具体的设计需求。如果关注的是行为的规范,且可能有多个实现者,那么接口是更好的选择。如果需要共享实现细节或者提供默认行为,抽象类则更为合适。 在压缩包中的"抽象类与接口"文件中,你...

    Java抽象类与接口课程案例的教学设计.pdf

    Java抽象类与接口是编程语言Java中的核心概念,它们在软件设计中扮演着至关重要的角色。在Java课程中,理解并掌握抽象类和接口对于学习者来说至关重要,因为这两个概念帮助程序员实现代码的复用、模块化和扩展性。 ...

    浅析高职教学之Java抽象类与接口.pdf

    浅析高职教学之Java抽象类与接口 本文对Java抽象类和接口的区别与联系进行了详细的分析,并着重讨论了如何在高职教学中讲授这些内容。文章首先介绍了Java抽象类和接口的概念,然后对它们之间的区别和联系进行了剖析...

    从战略角度对Java抽象类与接口的剖析.pdf

    本文通过战略角度对Java抽象类与接口进行深入剖析,力图揭示其在软件设计中的核心作用以及如何应用它们来解决实际问题。 首先,让我们从战略角度来理解Java中的抽象类与接口。抽象类与接口的引入,并非仅仅是为了...

    java 抽象类与接口的区别

    在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们都用于实现多态性,但各自具有不同的特点和应用场景。了解并熟练掌握它们的区别对于编写高质量的Java代码至关重要。 首先,抽象类是一种不能被...

    java抽象类与接口的深入思考

    ### Java抽象类与接口的深入思考 在Java编程语言中,抽象类(abstract class)与接口(interface)是实现多态性以及代码复用的重要工具。本文将通过具体实例来探讨这两种概念的区别及其应用场景,帮助读者更好地...

    Java中抽象类和接口的区别

    在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...

    java抽象类与接口

    java继承PPT,重点讲述了java的抽象类以及接口的使用

    深入剖析Java抽象类与接口的神秘力量 - 探索编程世界的双极法则

    ### 深入剖析Java抽象类与接口的神秘力量 - 探索编程世界的双极法则 #### 第一章:抽象类的创世神话 —— 基础与实战 ##### 概念解析: 抽象类在Java编程语言中扮演着极其重要的角色。它可以被视为一种特殊类型的...

    java抽象类与接口的区别

    在Java编程中,抽象类和接口是两种不同的机制,用于实现代码的多态性和抽象性。它们在设计和实现上有着明显的区别。 1.1 语法层面的区别 抽象类(Abstract Class)是一个不能被实例化的类,它通常包含抽象方法...

    基于Java抽象类和接口实现疯狂动物城

    学生通过对该项目整体框架的搭建和对动物城信息管理等模块的设计与功能实现,训练了学生对项目框架的搭建、类的封装、抽象类定义与继承、接口的定义与接口的实现等Java OOP面向对象知识点的掌握。 本项目主要包括...

    Java抽象类和接口.ppt

    此书对于你学习Java抽象类和接口有非常大的帮助

    java抽象类与接口.doc

    在Java编程语言中,抽象类和接口是两种重要的机制,用于实现多态性和代码的抽象。它们在软件设计中起到关键作用,帮助我们构建可扩展和灵活的系统。 首先,让我们了解一下抽象类。抽象类是一种不完整的类,它可能...

    浅析Java抽象类与接口的区别.pdf

    在Java编程语言中,抽象类和接口是两种面向对象编程(OOP)机制,用以实现抽象概念的不同方式。理解这两者之间的区别对于掌握Java的面向对象特性至关重要,尤其在设计软件架构时。以下将详细分析Java中抽象类和接口...

    Java抽象类与接口的区分_.docx

    Java中的抽象类与接口是两种不同的机制,它们用于实现多态性和代码重用,但在具体用法和设计原则上有显著的差异。理解这两者的区别对于编写高质量、可维护的Java代码至关重要。 首先,抽象类是一种特殊的类,它可以...

    浅析Java抽象类与接口的区别.zip

    理解并掌握Java中的抽象类与接口的区别,有助于开发者根据需求选择合适的设计模式,优化代码结构,提高代码的可维护性和扩展性。在实际开发中,往往需要结合使用抽象类和接口,以充分利用两者的优势,实现更灵活和...

Global site tag (gtag.js) - Google Analytics