0 0

抽象类和实现接口有什么区别?抽象有什么好处?接口有什么好处!5

抽象有什么好处?接口有什么好处!
2014年5月13日 20:10

3个答案 按时间排序 按投票排序

0 0

采纳的答案

抽象类和接口的区别:(完全可以百度能找到答案的)
1.修饰的关键字不同  抽象类修饰关键字 abstract  接口是 interface
2 抽象类除了有抽象方法还可以有普通方法 而接口除了抽象方法 不能有普通方法
3.抽象类对于其他类只能单一继承 而接口 一个人类可以实现多个接口 说白了接口就是java中来处理c中的多继承问题而设计的
4 接口能继承 抽象类能实现接口
2者各有各的好处 都是能解决一类问题而已!

2014年5月14日 00:10
0 0

看不下去了,十年前的问题,十年前的回答。

接口现在已经可以写可实现的方法了,只是比较特殊

接口一共两个目的,第一,和抽象类一样的作用,第二,弥补java作为面向对象语言不可传递函数的缺陷。

抽象类本质上和非抽象类一样,只是抽象类从设计上能让程序员的代码更严谨。

2014年5月14日 00:47
0 0

抽象类和接口某种程度上是挺像的,你可以理解为全部的抽象类就基本上等于接口了。

抽象类一般是用于需要提取共同的行为放在父类,然后有一些行为是不能定的就做为抽象方法留给子类实现,子类继续抽象类以后,就自动有了父类已定义的方法的能力,但是抽象类有一个局限性,那就是不能多重继承。

接口是可以理解为完全没有实现的抽象类,它适合定义某些能力,如果实现了这个接口,那就意味着拥有了这个能力,接口有个好处就是,一个类可以实现多个接口,也就是一个类可以有多种能力,接口比抽象类好的地方还有,那就是当一个类继承自抽象类,他无条件,也就是不能拒绝抽象类的所有公共方法,它都无条件的继承下来了,这在有些时候并不是我们想希望的样子。

拿线程举个例子,要起一个线程,可以继承自Thread类,也可以实现Runnable接口,然后用Thread启动它,推荐的做法是实现Runnable接口,而不是继承自Thread类,原因如下:

1. 如果继承自Thread类了,那么你就不能再继承其他的类了。
2. 如果实现的是Runnable接口,那么你的类还可以继承别的类的自由。

没有有谁更适合,具体使用还是要看场合

2014年5月13日 20:24

相关推荐

    JAVA面试题目:Java中的抽象类和接口有什么区别?

    题目:Java中的抽象类和接口有什么区别?

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

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

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

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

    Java中抽象类和接口的区别

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

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

    本项目主要包括项目开发环境搭建、不同功能的类的设计、抽象类的设计、接口的设计、及其继承抽象类重写和接口实现类等具体功能的实现。 ●工程项目搭建与游戏初始化功能实现(2学时) ; ●动物城成员列表与动物信息...

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

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

    接口与抽象类区别

    抽象类和接口是两个不同的概念,虽然它们之间有相似点,但它们的区别是非常明显的。抽象类是一种特殊的类,它可以定义字段、属性、方法实现,而接口是一种特殊的抽象类,它只能定义属性、索引器、事件、和方法声明。

    抽象类和接口 区别分析

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

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

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

    抽象类和接口的区别

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

    c# 中抽象类和接口的学习

    在C#编程语言中,抽象类和接口是实现面向对象编程(OOP)中的多态性和代码重用的关键概念。本文将深入探讨这两个概念,并解释它们在C#中的使用方式和区别。 ### 抽象类 抽象类是一种特殊的类,它不能被实例化,其...

    抽象类与接口的区别

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

    Java 接口和抽象类

    Java 编程语言提供了两种机制来实现面向对象编程的多态性:接口和抽象类。这两种机制使得 Java 应用开发具有灵活性和敏捷性。 抽象类 抽象类是一种特殊的类,它不能被实例化,不能被直接使用,而是作为其他类的...

    第13讲 谈谈接口和抽象类有什么区别?1

    在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是面向对象设计的关键概念,它们用于实现抽象和多态性,但它们之间存在显著的区别。 接口是对行为的抽象,它只包含抽象方法(没有方法体的方法)...

    java 抽象类与接口的区别

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

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

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

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

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

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

    抽象类和接口实验报告

    抽象类和接口

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

Global site tag (gtag.js) - Google Analytics