`
peonyzzdx
  • 浏览: 592147 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

抽象类和接口区别和联系

 
阅读更多
1、一个类可以(继承)实现多个接口,但只能继承一个抽象类(单继承多实现)。
2、接口中只能定义方法名,方法参数和返回值(不能定义任何的变量)。而抽象类中可以有方法的实现,也可以定义静态或者非静态的类变量。(接口中只能定义抽象方法,抽象类中可以定义抽象方法或非抽象方法,静态或者非静态变量,可以有构造函数,可以继承其他的抽象类或实体类,总之是个类,有类似类的特点),抽象类不能创建实例主要是由子类中调用(试图new一个似乎错误的),抽象方法一定在抽象类中,抽象类中可以没有抽象方法

* 当用abstract修饰类时,表名这个类只能被继承,当abstract修饰方法,表明这个方法只能被子类中重写。而finall修饰的类不能被继承,finall修饰的方法不能被重写。因此abstract和finall不能同时使用

* abstract不能用来修饰属性不能用于修饰局部变量,即没有抽象变量,没有抽象属性等说法。


* abstract不能修饰构造方法,没有抽象的构造方法,抽象类中定义的构造方法只能是不同的构造方法。

* abstract关键词修饰的方法必须被其子类重写才有意义,否者这个方法永远没有方法体,因此abstract方法不能定义为private访问权限,即private和abstract不能同时使用


当时static来修饰一个方法是,表明这个方法属于当前类,即该方法可以通过类的名字来调用,如果该方法被定义成成抽象方法,即将导致通过类名调用一个没有方法体方法是出现错误,(即当调用没有方法体的方法时肯定会报错误)abstract和static 不能同时修饰某个方法,即没有抽象类方法。abstract 和static 不能同时用

当需要多继承特性时,那你只能使用接口;当需要在父类中实现部分代码(通用功能)而根据不同情况某一方法有不同的实现时,那就设计为抽象类。

java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现

abstract 不能与final,private,static同时使用


1.类单继承,多实现接口
2.抽象类可以有构造方法,接口没有
3.抽象类中可以有非抽象方法,接口中都是抽象的方法。
4.类可以实例化,接口不能实例化。
分享到:
评论

相关推荐

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

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

    抽象类和接口 区别分析

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

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

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

    Java中抽象类和接口的区别

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

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

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

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

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

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

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

    java抽象类与接口区别

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

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

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

    抽象类和接口的区别

    抽象类和接口的区别 【概述】 一个软件设计的好坏,我想很大程度上取决于它的整体架构, 而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时, 你底层的具体实现...

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

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

    java 抽象类与接口的区别

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

    抽象类和接口的PPT

    简单介绍了抽象类和接口

    抽象类与接口的区别

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

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

    抽象类和接口实验报告

    接口与抽象类区别

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

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

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

    JAVA中抽象类与接口的区别

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

    抽象类和接口

    总的来说,抽象类和接口都是为了实现代码的模块化和复用,但它们有本质区别。抽象类提供了部分实现,强调的是“是什么”(is-a),而接口只定义行为,强调的是“能做什么”(can-do)。理解并灵活运用这两种机制对于...

Global site tag (gtag.js) - Google Analytics