`
朽木一根
  • 浏览: 26117 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

interface和abstract--接口和抽象类的区别

    博客分类:
  • Java
阅读更多

抽象类与接口
接口
1. 声明:声明是隐含abstract,永远不能用final修饰。
2. 接口与其他类型关系:接口只能继承接口 而且可以继承多个 interface AA extends C,B (C,B均为接口)。
3. 接口与成员变量:只能定义常量属性,且不必显示使用public\static\final等进行修饰,隐式默认。
4. 接口与成员方法:接口中定义的方法必须是抽象的。都是隐含public abstract的(只能这两个修饰)。
5. 接口与类的关系:一个类能够实现多个接口。一般都要将所有方法全部实现,除非该类是abstract抽象的。
抽象类:
1. 用图:继承扩展。可以被声明引用但不可以实例化。
2. 抽象的方法:只有方法声明,无方法体。不能为private。
3. 抽象方法与类的关系:抽象方法中只能放在抽象类中。可以有非抽象方法。
4. 继承:继承抽象类的类,如果本身不是抽象类,则必须实现所有方法。
5. 注意:abstract和final永远不能同时用于标示。一个必须被重写,一个阻止重写。

 

对比项

 

     接口                       抽象类
声明 Interface 接口名                abstract  class 抽象类名

 

成员变量

 

无变量,都为公共常量,隐含为public,final,static的。             abstract显示定义,无默认

方法

 

隐含为public abstract,且只能这2种来标示      显示定义,不能有final,static ,private 等标示。

 

继承

 

只能继承接口,且可继承多个,但继承后不能实现父接口方法。          只能继承一个父类,但可以实现多个接口。
多态 接口类型的引用可以指向任何实现该接口或该接口的子接口的类,通过接口可以访问其指向的对象中实现该接口的方法。  抽象类的引用可以指向其子类的对象,通过该引用可以访问子类中继承该抽象类的所有属性和方法。
分享到:
评论

相关推荐

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

    现在,让我们看看抽象类和接口的相同点和区别: 相同点: 1. 都可以被继承,为派生类提供共享的行为和属性。 2. 都不能被实例化,只能作为其他类的基础。 3. 都可以包含方法声明,定义公共行为。 不同点: 1. 抽象...

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

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

    接口与抽象类区别

    接口与抽象类区别 在软件开发中,接口和抽象类是两个常用的概念,但它们之间的区别却让许多人感到困惑。那么,什么是抽象类和接口?它们之间有什么区别?下面,我们就来详细地探讨这个问题。 一、抽象类 抽象类是...

    抽象类和接口的区别

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

    Java中抽象类和接口的区别

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

    抽象类和接口 区别分析

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

    java利用接口和抽象类改写求圆的面积和梯形的面积.docx

    在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性和代码复用的重要概念。它们都无法被直接实例化,而是位于继承结构的顶层,被其他类实现或继承。接口和抽象类都可以包含抽象方法...

    简述抽象类和接口的区别-java接口和抽象类异同.docx

    总体而言,抽象类和接口都是面向对象编程中非常重要的概念,它们各自适用于不同的场景。理解它们的特点并合理地选择使用,可以帮助开发者更好地组织代码,提高程序的可维护性和扩展性。在实际开发过程中,应根据具体...

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

    4.实现抽象类和接口的类必须实现其中的所有方法。 抽象类中可以有非抽象方法。接口中则不能有实现方法。如果接口或者抽象类的子类不想实现则继续携程一个抽象方法 5.接口中定义的变量默认是public static final ...

    Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口

    Java中的`final`关键字、抽象类和接口是面向对象编程中的核心概念,它们共同构建了类的层次结构和多态性。以下是对这些概念的详细解释: 1. **final关键字** - `final`关键字用于确保变量的值一旦被赋值后就不能...

    Java-抽象类和接口--学习笔记.docx

    Java是一种面向对象的编程语言,其中的抽象类和接口是两个重要的概念,它们在软件设计中扮演着不可或缺的角色。在本篇Java学习笔记中,我们将深入探讨这两个概念及其作用。 首先,我们来看抽象类。抽象类是那些包含...

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

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

    Java 接口和抽象类

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

    java抽象类与接口区别

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

    抽象类与接口的区别

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

    接口和抽象类的区别(面向对象)

    接口与抽象类的区别 抽象方法是必须实现的方法。就象动物都要呼吸。但是鱼用鳃呼吸,猪用肺呼吸。 动物类要有呼吸方法。怎么呼吸就是子类的事了。 现在有很多讨论和建议提倡用interface代替abstract类,两者从...

    Java开发接口和抽象类的区别共2页.pdf.zip

    在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性的关键概念,它们各自有特定的用途和特点。本篇内容将深入探讨接口和抽象类的区别,帮助Java开发者更好地理解这两种面向对象编程...

    Java中抽象类和接口的区别与作用详解

    ### Java中抽象类和接口的区别与作用详解 #### 一、引言 在Java编程语言中,`abstract class`和`interface`是两种用于定义抽象类的重要机制。这两种机制不仅支持了Java的强大面向对象特性,而且也在实际开发过程中...

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

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

    abstract class和interface有什么区别?

    ### abstract class和interface有什么区别? 在面向对象编程中,`abstract class` 和 `interface` 都是用来实现抽象化的工具,但它们之间存在着重要的差异。理解这些差异有助于开发者更有效地设计和实现软件系统。 ...

Global site tag (gtag.js) - Google Analytics