`

Java接口与抽象类剖析

    博客分类:
  • Java
阅读更多
Java作为一个成熟的面向对象语言,在大型软件开发中起着很大的作用,在这样的大环境里占有一席之地。

而为了在多人合作乃至数十数百人合作的项目中避免设计上的不一致,也就是保证类在使用中的规范性,我们引入了接口的概念。

比如接口中有A方法,那么实现这个接口就必须实现A方法,这就人为地形成了一种规范,这也是所谓接口的意义。

那么,接口是如何定义的呢?

public interface 接口名{
//定义常量的语法格式:
public static final 数据类型  常量名   =   值;

//定义抽象方法的语法格式:
public 返回值类型   方法名(参数列表);
返回值类型   方法名(参数列表);
}

这就是接口的定义。我们要注意的是:
1.定义接口的关键字是interface。注意与类的不同,在新建接口的时候也要选择建立此类文件哦
2.接口中只能定义抽象的方法和常量。这就是以后其他接口或者类所要继承的东西
3.接口是可以继承接口的,并且可以同时继承多个接口。语法格式是:public interface 接口名 extends 接口名,......{}
4.接口默认的访问修饰符是public的。并且只有这一种,别的均会报错。
5.接口是一种特殊的类。这个不解释
6.接口中的抽象方法不能在接口中实现,所以不能使用{}结尾,只能使用;结尾。

接下来的问题是,接口我们已经定义好了,下一步就是实现接口的内容啦

public class 类名   implements  接口名,......{
//必须要重写接口中定义的所有方法,否则报错。
}

实现接口的时候我们同样需要注意一些必要的事项:
1.实现接口的关键字是implements 。这是特征也是要素
2.类只能继承一个父类(单根继承),类是可以同时实现多个接口的。
比如: public class 子类名   extends 父类名   implements 接口名,......{}
3.子类可以同时继承类,再实现多个接口,但是,反之则不可以。
4.接口的特点是,我们在接口中定义了多少个抽象方法,那么子类就必须要重写多少个的方法,也就是说所有的方法都要无条件重写哦。
5.实现接口的时候,接口中的常量是能被类继承到的。被继承的既然是全部框架,那么,常量也不例外。

有了接口,又有了类,那么,他们之间的区别在哪里呢?
1.接口与类的关键字不同
类 class  接口 interface
2.接口与类的方法不同
类 方法以{}结束,负责具体实现 接口 方法以;结束,只是抽象的形式
3.接口与类的继承方式不同
类只能继承一个父类,即单根继承 多个接口可以同时被一个类实现
4.接口与类的子类的继承内容不同
对于类,其子类既可以继承方法,也可以重写方法 但对于接口,子类必须重写所有的抽象方法

下面我们介绍Java中的抽象类

抽象类是介于接口和类之间的一种特殊类,该类既有接口的特性,又有类的特性。

他的定义方法如下:

public abstract class 抽象类名{
//可以定义类中所有的方法和属性。
//定义抽象方法,但是语法格式不同
public abstract 返回值类型 方法名(参数列表);
}
对于抽象类中的抽象方法,如果有类继承,那么,子类必须重写这些抽象方法 ,这和接口中的特点是相一致的。
抽象类在这里有很广泛的用途,他既可以继承类和抽象类,又可以去实现多个接口,这里的形式是:
public abstract class 抽象类  extends  父类名   implements 接口名,......{}
但是对于抽象类,它和接口一样,都是不可以实例化对象的,这一点只有类可以做到。

0
1
分享到:
评论

相关推荐

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

    在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性的关键...通过阅读"java中接口与抽象类的详细分析与比较.doc"文档,你将获得更深入的洞察和实践指导,进一步提升你的Java编程能力。

    Java语言的接口与抽象类

    Java语言的接口与抽象类是面向对象编程中的关键概念,它们在设计模式和代码组织中起着重要作用。这里我们将深入探讨这两个概念,并分析它们的异同。 首先,接口(Interface)是Java中的一种特殊类型,它通过使用`...

    Java抽象类与接口实验报告

    Java抽象类与接口实验报告

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

    #### 抽象类与接口的区别分析 ##### 实现数量上的差异 - **抽象类**:一个类只能继承一个抽象类。 - **接口**:一个类可以实现多个接口。 这种差异意味着接口更适合用于定义对象间的行为规范,而抽象类则适合定义一...

    Java中抽象类和接口的区别

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

    Java接口和Java抽象类

    本文将深入探讨Java接口与抽象类的概念及其应用场景,并通过实例帮助读者理解它们各自的优势及适用场合。 #### 二、Java接口 Java接口是一种完全抽象的类,它只包含常量和抽象方法的声明,不允许有具体的实现代码...

    java期末复习抽象类与接口,内部类,知识点.zip

    复习时,可以详细阅读`Java抽象类.docx`来理解抽象类的定义、用途和实例化规则,通过`Java接口.docx`学习接口的定义、实现方式以及多继承的特点,`Java内部类.docx`将帮助你掌握不同类型的内部类及其应用场景。...

    实验5:Java抽象类与接口.doc

    Java 抽象类与接口实验报告 一、实验目的及要求 本实验的目的是掌握 Java 中的抽象类和接口的概念及其应用。通过本实验,学生将了解抽象类和接口的定义、特点及使用场景,并掌握如何使用抽象类和接口来描述不同的...

    【每日一步】面向接口编程选择java接口还是抽象类.doc

    ### 面向接口编程与Java接口、抽象类的选择 #### 一、接口与抽象类的概念 在面向对象编程中,接口(Interface)与抽象类(Abstract Class)都是用来实现多态性的工具,它们允许开发者定义行为规范而不指定具体实现...

    Java实例化一个抽象类对象的方法教程

    例如,你可以定义一个注解`@MockApi`,然后在处理器中分析带有这个注解的类,生成一个新的实现类,这个新类将包含原始抽象类和接口的实现。 总的来说,虽然Java中的抽象类不能直接实例化,但我们可以通过继承并实现...

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

    ### 抽象类与接口的区别 #### 一、定义与特性 **抽象类**: - 抽象类是一种特殊的类,它可以包含抽象方法(没有具体实现的方法)和具体方法(有具体实现的方法)。 - 抽象类不能被实例化,只能作为其他类的父类。 ...

    接口与抽象类

    本文将详细探讨接口与抽象类的区别,并结合实际编程场景来分析何时使用接口、何时选择抽象类。 #### 二、接口的基本概念 接口是一种特殊的抽象类型,它只定义方法、属性、索引器和事件等成员的签名,但不提供这些...

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

    ### JAVA继承基本类、抽象类、接口的区别与联系 #### 一、概述 在Java语言中,类(Class)的设计是面向对象编程的核心之一。Java提供了三种方式来扩展类的功能:基本类、抽象类和接口。这三者之间既有相似之处,也...

    Kotlin接口与抽象类的详细解析及应用场景

    内容概要:本文详细介绍了 Kotlin 中接口与抽象类的概念、定义和使用方法。...其他说明:通过实例代码和对比分析,本文还涉及了一些高级主题,如泛型在接口与抽象类中的应用,以及密封类与接口的结合使用。

    Java语言中抽象类和接口的应用探究.pdf

    Java语言中抽象类和接口的应用探究 Java语言中抽象类和接口是两种机制,都是支持抽象类的,但它们之间...在本文中,我们将对抽象类和接口进行比较和分析,总结它们的异同点,以便读者设计出更加高效、强大的Java程序。

    java包与接口实验报告

    #### 二、Java接口的作用及使用 - **接口的作用**:接口是一种抽象类型,它定义了一组方法签名但不提供具体的实现。通过实现接口,类可以声明自己支持某些行为,而具体实现则由实现该接口的类来完成。 - **接口的...

    抽象类和接口 区别分析

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

    从战略角度对Java抽象类与接口的剖析.pdf

    本文通过战略角度对Java抽象类与接口进行深入剖析,力图揭示其在软件设计中的核心作用以及如何应用它们来解决实际问题。 首先,让我们从战略角度来理解Java中的抽象类与接口。抽象类与接口的引入,并非仅仅是为了...

    教学视频-抽象类&接口

    7. **实际案例分析**:通过具体的编程示例,展示抽象类和接口在实际项目中的应用。 这个教学资源还提供在线支持和教学源码,这意味着学习者不仅可以观看视频,还可以动手实践,通过编写代码加深理解。对于初学者来...

    接口和抽象类使用详细实例源代码

    在编程世界中,接口(Interface)和抽象类(Abstract Class)是面向对象设计的...通过阅读和分析“接口和抽象类使用详细实例源代码”,开发者可以更好地掌握这两种重要概念,并将其应用到自己的项目中,提升软件质量。

Global site tag (gtag.js) - Google Analytics