`

抽象类和接口的区别

 
阅读更多


1、抽象类里面可以有非抽象方法
但接口里只能有抽象方法
声明方法的存在而不去实现它的类被叫做抽像类(abstract class)
,它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。
不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。
不能有抽像构造函数或抽像静态方法。Abstract 类的子类为它们父类中的所有抽像方法提供实现,
否则它们也是抽像类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

2、接口(interface)是抽像类的变体。在接口中,所有方法都是抽像的。
多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽像的,没有一个有程序体。
接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。
当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,
它可以在实现了该接口的类的任何对像上调用接口的方法。由于有抽像类,它允许使用接口名作为引用变量的类型。
通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,
instanceof 运算符可以用来决定某对象的类是否实现了接口


  (1)凡是用abstract 修饰符修饰的类被称为抽象类。凡是用abstract修饰符修饰的成员方法被称为抽象方法。
 (2)抽象类中可以有零个或多个抽象方法,也可以包含非抽象的方法。
 (3)抽象类中可以没有抽象方法,但是,有抽象方法的类必须是抽象类。
 (4)对于抽象方法来说,在抽象类中只指定其方法名及其类型,而不书写其实现代码。
 (5)抽象类可以派生子类,在抽象类派生的子类中必须实现抽象类中定义的所有抽象方法。
 (6)抽象类不能创建对象,创建对象的工作由抽象类派生的子类来实现。
 (7)如果父类中已有同名的abstract方法,则子类中就不能再有同名的抽象方法。
 (8)abstract不能与final并列修饰同一个类。
 (9)abstract 不能与private、static、final或native并列修饰同一个方法


java中的抽象类  可以  含有非抽象方法,继承自抽象类的子类  对于  父类中所有的 非抽象方法,
覆盖不覆盖都行,  但是  所有抽象方法   必须   要覆盖,如果不覆盖,那么:这个子类必须也是抽象类,被声明为abstract的

  • src.rar (104.4 KB)
  • 下载次数: 0
分享到:
评论

相关推荐

    抽象类和接口 区别分析

    ### 抽象类和接口的区别分析 在面向对象编程中,抽象类与接口都是实现代码复用和提高软件模块化的重要工具。它们各自拥有独特的特性和应用场景,掌握这些概念对于编写高质量、可维护性强的代码至关重要。下面我们将...

    Java中的类、抽象类和接口的区别和联系

    Java中的类、抽象类和接口的区别和联系

    抽象类和接口区别用法[文].pdf

    抽象类和接口的区别和应用 在软件设计中,抽象类和接口是两个重要的概念,它们都是抽象类型的表现形式,但是它们在实际应用中有着本质的区别。下面,我们将详细讨论抽象类和接口的概念、相同点、不同点和应用场景。...

    C#类、接口、虚方法和抽象方法-抽象类和接口的相同点和区别

    这里我们将详细讨论这些概念以及抽象类与接口之间的相同点和区别。 首先,让我们来看看抽象类(Abstract Class): 1. 抽象方法是只有声明没有实现的方法,可以视为没有方法体的虚方法。例如: ```csharp public ...

    一些资料,抽象类和接口区别

    下面将详细讲解抽象类与接口的区别,以及重载和重写的相关知识。 首先,让我们了解抽象类。抽象类是一种不能实例化的类,它主要用来被其他类继承。抽象类可以包含抽象方法(没有方法体的方法)和非抽象方法(有具体...

    Java中抽象类和接口的区别

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

    抽象类和接口的PPT

    简单介绍了抽象类和接口

    C#中抽象类和接口的区别.txt

    综上所述,虽然抽象类和接口在实现多态方面具有相似的目标,但它们之间存在明显的区别。选择使用哪一种取决于具体的应用场景和个人的设计偏好。理解这些差异有助于更好地设计出健壮、可维护的软件系统。

    详细解析Java中抽象类和接口的区别

    ### 详细解析Java中抽象类和接口的区别 #### 引言 在面向对象编程中,Java作为一种广泛应用的编程语言,提供了多种方式来实现抽象的概念。其中最常用的两种机制是抽象类(abstract class)和接口(interface)。这...

    java抽象类与接口区别

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

    抽象类和接口的区别抽象类和接口的区别.pdf

    "抽象类和接口的区别" 抽象类和接口是 Java 语言中两种不同的机制,用于实现对象的抽象描述。虽然它们之间存在着一定的相似性,但它们在定义、实现和使用方面存在着很大的区别。 首先,抽象类是一个抽象的概念,...

    JAVA 继承基本类、抽象类、接口区别与联系

    本文将详细介绍Java中的基本类、抽象类以及接口的概念,并分析它们之间的区别和联系。 #### 二、基本类 **定义**:基本类是指具体实现了一定功能的类,它包含了具体的属性和方法。在Java中,所有类都是通过`class`...

    java 抽象类与接口的区别

    理解抽象类与接口的区别并恰当运用,有助于提升代码的可扩展性和可维护性,使得软件设计更加灵活和面向对象。在进行Java编程时,应根据项目需求和设计原则,合理选择抽象类或接口来实现特定功能,以达到最佳的设计...

    抽象类和接口的详细区别和联系

    ### 抽象类和接口的详细区别和联系 在面向对象编程中,抽象类与接口是两种非常重要的概念,它们都是实现多态性的方式之一,但在使用场景、语法特性和设计哲学等方面存在明显的不同。本篇文章将深入探讨这两者的区别...

    抽象类与接口的区别

    ### 抽象类与接口的区别 #### 一、理解抽象类与接口的基本概念 在面向对象编程中,抽象类和接口都是重要的概念,用于描述共有的特性或行为,但它们在实现方式和用途上有所不同。 **抽象类**: - **定义**:抽象类...

    抽象类和接口实验报告.doc

    抽象类和接口实验报告

    JAVA中抽象类与接口的区别

    下面将从多个方面详细介绍抽象类与接口的区别。 ### 一、定义与基本语法 #### 抽象类 抽象类是一种特殊的类,它不能被实例化,只能作为其他类的父类来使用。抽象类中可以包含抽象方法(没有方法体的方法)和具体...

    介绍一下抽象类和接口的异同

    在编程世界中,抽象类和接口是两种非常重要的概念,它们在实现代码的组织和设计模式上发挥着关键作用。本文将深入探讨抽象类与接口的异同,并结合实际应用场景来帮助理解这两种机制。 首先,让我们从定义开始。抽象...

Global site tag (gtag.js) - Google Analytics