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

abstract(抽象类)和interface(接口)

 
阅读更多
一: abstract 修饰符   抽象类

                   abstract修饰符用来修饰类和成员方法

                 1: 用abstract修饰的类表示抽象类,抽象类位于继承树的抽象层,抽象类不能被实例化。

                 2:用abstract修饰的方法表示抽象方法,抽象方法没有方法体。抽象方法用来描述系统具有什么功能,但   不提供具体的实现。

            abstract 规则:

                  1: 抽象类可以没有抽象方法,但是有抽象方法的类必须定义为抽象类,如果一个子类继承一个抽象类,子类没有实现父类的所有抽象方法,那么子类也要定义为抽象类,否则的话编译会出错的。

                   2:抽象类没有构造方法,也没有抽象静态方法。但是可以有非抽象的构造方法

                    3:抽象类不能被实例化,但是可以创建一个引用变量,类型是一个抽象类,并让它引用非抽象类的子类的一个实例

                   4: 不能用final 修饰符修饰

二:    Interface 接口

              Interface关键字定义接口,也称为接口类型,用于明确的描述系统对外提供哦的所有服务,清晰的把系统的实现细节与分离,实现传说中的解耦合。

              Interface规则:

             1: 接口的成员变量都是public static final类型的,必须显示初始化

             2: 接口的成员方法都是public abstract 类型的

             3: 接口只能包含public static final类型的成员变量和public abstract类型的成员方法

               4:接口中没有构造方法,不能实例化,同abstract一样,可以定义一个引用变量,让实现了Interface的具体类来构造。

              5:实现了一个接口,必须实现接口所有的抽象方法,除非该类定义为抽象类

              6:可以实现多个接口,用JAVA语言实现多继承。

三:   abstract 和Interface 的区别

              1: 都代表系统的抽象层

              2: 都不能被实例化,但都可以继承或者实现抽象类或者接口的具体类,通过定义引用变量来构造。

             3:都包含抽象方法

              4: 抽象类中可以为部分方法提供默认的实现,可以避免子类中重复实现它们,提高代码的可重用性,接口中只能包含抽象方法。

             5:一个类只能继承一个直接的父类,比如抽象类,但是可以实现多个接口
分享到:
评论

相关推荐

    Java中抽象类和接口的区别

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

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

    通过这些理解,我们可以更好地利用抽象类和接口来设计灵活且可扩展的软件架构。在选择使用抽象类还是接口时,应根据项目需求和设计原则来权衡。例如,如果需要共享部分实现并有继承关系,可以选择抽象类;如果需要多...

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

    其中最常用的两种机制是抽象类(abstract class)和接口(interface)。这两种机制虽然在某些场景下可以互相替代,但它们在设计原则、实现细节以及应用场景上存在明显的区别。了解这些差异有助于开发者在面对具体...

    Java抽象类和接口和继承之间关系

    在Java中,抽象类(abstract class)和接口(interface)都是用来描述对象的行为和状态的,但它们之间有着明显的区别。 首先,让我们来看一下抽象类。抽象类是一种特殊的类,它不能被实例化,仅供子类化使用。抽象...

    java 抽象类与接口的练习

    在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们允许我们定义规范,供其他类去实现或继承。在这个练习中,我们将深入理解这两种机制,并通过实际的代码示例和注释来加深理解。 首先,让我们讨论...

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

    在C#编程语言中,抽象类和接口都是用于实现面向对象编程中多态特性的关键概念。它们都旨在为其他类提供一种定义行为和特性的模板或规范,但它们之间存在着重要的区别。本文将详细探讨C#中的抽象类与接口之间的差异,...

    抽象类和接口

    在编程领域,抽象类和接口是面向对象设计中的两个重要概念,它们用于实现代码的抽象和多态性。本实验旨在帮助你深入理解和熟练运用这两种机制。 首先,让我们来看看抽象类。抽象类是一种不能被实例化的类,它通常...

    Java源代码:抽象类和接口

    在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们允许我们定义规范,为其他类提供模板或行为指南。让我们深入探讨这两个概念及其在Java中的应用。 首先,我们来理解抽象类。在Java中,抽象类是一...

    抽象类和接口 区别分析

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

    抽象类和接口 测试结果

    在编程世界中,抽象类和接口是面向对象设计的重要概念,它们都用于实现代码的抽象和多态性,但有着不同的使用场景和规则。这里我们将深入探讨这两种机制,并结合给出的"codePiece"代码片段来分析它们在实际应用中的...

    java中的抽象类和接口的理解

    在面向对象编程语言Java中,抽象类(Abstract Class)和接口(Interface)是实现多态性和代码复用的重要手段。它们都允许开发者定义行为规范而不需要具体实现细节,但它们之间存在一些重要的区别。本文将详细介绍...

    浅析Java抽象类和接口的比较

    Java中的抽象类(abstract class)和接口(interface)都是用于创建抽象化模型的重要工具,它们在面向对象编程中扮演着核心角色。这两种机制都允许我们定义一组方法的签名,但不提供具体实现,从而实现“设计契约”...

    抽象类和接口的区别

    在面向对象编程中,抽象类和接口是两种非常重要的概念,它们在软件设计和实现过程中发挥着不可替代的作用。本文将深入探讨这两种概念的区别,帮助开发者更好地理解和运用它们。 #### 一、定义 1. **抽象类**:抽象...

    第7章 抽象类与接口.ppt

    在Java编程语言中,抽象类和接口是两种重要的机制,用于实现代码的抽象和多态性。本章主要探讨了这两个概念以及它们在实际编程中的应用。 首先,抽象类(abstract class)是一种不能被实例化的类,它通常含有至少一...

    Java 接口和抽象类

    在上面的练习中,我们使用抽象类和接口来实现多态性。在 LivingThing 抽象类中,我们定义了一个抽象方法 dance(String dancingStyle),然后在 Human 和 Monkey 中实现了该方法。在 PersonInterface 接口中,我们定义...

    java中接口与抽象类的详细分析与比较

    在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性的关键概念,它们各自有特定的用途和优缺点。本文将深入探讨这两种概念,帮助你理解它们之间的区别以及如何在实际开发中选择使用...

    接口与抽象类区别

    那么,什么是抽象类和接口?它们之间有什么区别?下面,我们就来详细地探讨这个问题。 一、抽象类 抽象类是一种特殊的类,它不能被实例化,只能被继承。抽象类的主要特点是: 1. 抽象方法只作声明,而不包含实现...

    C#抽象类与接口方法

    【C#抽象类与接口方法】在C#编程语言中,抽象类和接口是两种用于实现多态性和封装的关键概念,它们允许我们设计灵活、可扩展的代码结构。 抽象类是一种特殊的类,它不能被实例化,而是作为其他类的基类使用。抽象类...

Global site tag (gtag.js) - Google Analytics