继承(inheritance)和java接口(interface in java)的区别

Java是Sun Microsystems公司开发的一种编程语言。Java可以用来开发各种应用程序。它是一种支持面向对象、结构化等多种范式的语言,Java的主要优点是支持面向对象编程(OOP)。程序员可以创建类和对象。OOP有四个支柱。它们是继承、多态、抽象和封装。继承和接口与OOP有关。继承和接口的关键区别在于继承是从现有的类中派生新的类,而接口是实现抽象类和多重继承。...

继承(inheritance)和java接口(interface in java)的区别

Java是Sun Microsystems公司开发的一种编程语言。Java可以用来开发各种应用程序。它是一种支持面向对象、结构化等多种范式的语言,Java的主要优点是支持面向对象编程(OOP)。程序员可以创建类和对象。OOP有四个支柱。它们是继承、多态、抽象和封装。继承和接口与OOP有关。继承和接口的关键区别在于继承是从现有的类中派生新的类,而接口是实现抽象类和多重继承。

目录

1. 概述和主要区别
2.Java中的继承是什么
3. Java中的接口是什么
4. Java中继承与接口的相似性
5. 并行比较——继承与Java中的接口的表格形式
6. 摘要

什么是java中的继承(inheritance in java)?

继承可以实现代码的可重用性。继承有助于重用现有类的属性和方法。使用旧类派生新类的机制称为继承。旧类称为父类或超级类。派生类称为子类或子类。

Java继承的语法如下。

类子类扩展超类{

变量声明;

方法声明;

}

继承概念可以用下面的例子来解释。假设有一个名为a的类,如下所示。

公共A级{

公共无效金额(){

System.out.println(“金额”);

}

}

如果我们想在不改变现有类的情况下添加一个新方法,我们可以如下所示。

公共B类{

公共虚空子(){

打印输出系统(“子公司”);

}

}

程序员可以使用继承来使用类A sum()。

公共B类扩展了A类{

公共虚空子(){

打印输出系统(“子公司”);

}

}

在main函数中,可以创建一个B的对象并调用sub(),它属于B类,sum()属于A类。

公共静态void main(String[]args){

B obj=新B();

目标子公司();

目标金额();

}

有不同类型的遗传。它们是单继承、多重继承、多级继承和层次继承。在单一继承中,有一个基类和一个派生类。在多级继承中,有三个类,即基类、中间类和派生类。中间类从基类继承,派生类从中间类继承。在层次继承中,有一个基类和多个派生类。有一种特殊类型被称为混合遗传。它是两种或多种继承类型的组合。

继承(inheritance)和java接口(interface in java)的区别

图01:继承

在多重继承中,有许多基类和一个派生类。假设A类和B类是基类。类C是派生类。如果A类和B类都有相同的方法,而程序员从派生类调用该方法,则会导致歧义问题。继承两个类可能会导致编译时错误。因此,Java不支持多重继承。一个接口可以用来克服这个问题。

什么是java接口(interface in java)?

抽象是一个隐藏实现细节并只向用户显示功能的过程。抽象可以通过使用抽象类或接口来实现。抽象方法是没有实现的方法。具有至少一个抽象方法的类是抽象类。抽象类的示例如下。

抽象A类{

抽象空和();

}

假设有两个抽象类A和B。为了实现A和B的抽象方法,创建了一个新的类C。那么C类应该同时扩展A和B,但是Java不支持多重继承。因此,应该使用接口。接口可用于声明方法,但无法定义方法。无法使用接口创建对象。类C应该实现接口A和B中的所有方法。

接口A{

空和();

}

接口B{

void sub();

}

类C实现了A,B{

公共无效金额(){

System.out.println(“总和”);

}

公共虚空子(){

System.out.println(“减法”);

}

}

现在,在主程序中可以创建一个C对象并调用这两个方法。

公共静态void main(String[]args){

C obj=新C();

目标金额();

目标子公司();

}

所以,接口可以用来实现多重继承。

接口的另一个用途是它提供安全性。参考以下代码。

接口A{

无效金额();

}

实现类B{

公开无效金额(){

System.out.println(“总和”);

}

公共空乘(){

System.out.println(“乘法”);

}

}

当创建B的对象时,可以同时调用sum()和multiply()方法。如果程序员想限制使用multiply()函数,可以如下所示。

公共静态void main(String[]args){

A obj=新B();

目标金额();

}

A obj=new B();将创建一个对象。它的类型是A,内存分配为B。可以调用sum(),但不能执行multiply()。这个限制是使用接口完成的。

继承(inheritance)和java接口(interface in java)的共同点

  • 这两个概念都与面向对象编程有关
  • 两者都代表着一种关系。

继承(inheritance)和java接口(interface in java)的区别

Java中的继承与接口
继承是一个OOP概念,用于从现有类派生新类。 在OOP中实现继承和多重抽象机制。
使用
继承提供了代码的可重用性。 接口提供抽象和多重继承。

总结 - 继承(inheritance) vs. java接口(interface in java)

Java是一种支持面向对象编程的多范式编程语言。继承和接口与面向对象编程有关。继承和接口的区别在于继承是从现有的类中派生出新的类,接口是实现抽象类和多重继承。

下载java版的inheritance-vs-interface的pdf版本

你可以下载这篇文章的PDF版本,并按照引文说明离线使用。请在这里下载PDF版本继承和Java接口的区别

引用

1.要点,教程。“Java继承”,教程点,2017年10月31日。此处提供2.Point教程。“Java接口”,教程点,2017年10月31日。此处提供
2.要点,教程。“Java接口”,

  • 发表于 2020-10-25 00:02
  • 阅读 ( 492 )
  • 分类:IT

你可能感兴趣的文章

包裹(package)和java接口(interface in java)的区别

Java中的Package和Interface的主要区别在于,Package有助于对类进行有条理的分类以方便访问和维护,而Interface则有助于实现多个继承和实现抽象。 Java是最流行的编程语言之一。Java的主要优点是它支持面向对象编程。这种方法允...

  • 发布于 2020-10-18 11:01
  • 阅读 ( 570 )

倍数(multiple)和多层次遗传(multilevel inheritance)的区别

...格形式的多重与多级继承 6. 摘要 什么是多重继承(multiple inheritance)? 多重继承是指一个类继承多个基类。 图01:多重继承 A B和C是类。A和B是基类,C是派生类。C类必须同时管理基类A和B的依赖关系。多重继承在软件项目中并没有...

  • 发布于 2020-10-19 20:00
  • 阅读 ( 389 )

多态性(polymorphism)和oop中的继承(inheritance in oop)的区别

...是面向对象编程中的一个主要概念。 什么是oop中的继承(inheritance in oop)? 参考下面用Java编写的程序。 图03:继承示例 根据上面的程序,A类有sum()方法,B类有sub()方法。 类A的sum()方法可以在B类中使用extend关键字。重用...

  • 发布于 2020-10-19 21:16
  • 阅读 ( 549 )

班(class)和接口(interface)的区别

班(class)和接口(interface)的区别 面向对象编程(OOP)是软件开发中的一种常见范式。它有助于使用类和对象为编程带来真实的场景。类是创建对象的蓝图。程序员可以用属性和方法创建一个类。学生和老师是客体。创建对象称...

  • 发布于 2020-10-24 04:25
  • 阅读 ( 256 )

抽象类(abstract class)和java接口(interface in java)的区别

...供100%的抽象,因为它可以有具体的方法。 什么是接口(an interface)? 接口虽然看起来像一个类,但实际上不是。因为Java不支持多继承,所以接口有时非常适合为类层次结构提供基础。接口更像是类的蓝图,在Java中也用于实现抽...

  • 发布于 2021-06-25 03:52
  • 阅读 ( 302 )

应用程序编程接口(api)和java框架(framework in java)的区别

...framework的主要区别在于,javaapi是一组封装功能的组件的接口,而framework是一组帮助开发项目的类、工具和相关组件。 javaapi是一组用于构建软件的子例程定义、通信协议和工具。API的使用和实现包含在其文档中。Java框架提供了...

  • 发布于 2021-07-01 01:02
  • 阅读 ( 538 )

抽象类(abstract class)和java接口(interface in java)的区别

...ngle draw()中的方法并打印“Rectangle”。 什么是java接口(interface in java)? Java中的接口类似于类。接口中的所有方法都是抽象方法。与抽象类类似,接口不能实例化。接口既可以用于抽象,也可以用于实现多重继承。通过使用inte...

  • 发布于 2021-07-01 01:29
  • 阅读 ( 277 )

C++(c++)和JAVA(java)的区别

...中使用它们。 此外,可以实现面向对象的编程概念,如继承、抽象、封装和多态性以及结构化编程概念,如选择(IF,EASE),重复结构(用于、做、而等)C++等。此外,这种语言允许动态内存分配。程序员可以通过调用free()...

  • 发布于 2021-07-01 07:51
  • 阅读 ( 332 )

包裹(package)和接口(interface)的区别

...st”,则import语句如下所示。 导入测试。*; 什么是接口(interface)? 接口是实现抽象和多重继承的机制。接口中的方法是抽象方法。这些方法没有任何实现。它也可以有变量或字段。它们可以是公共的、静态的或最终的。此外,...

  • 发布于 2021-07-01 09:47
  • 阅读 ( 351 )

继承(inheritance)和java中的多态性(polymorphism in java)的区别

...、继承、重载、重写、多态性、Java 什么是java中的继承(inheritance in java)? Java中的继承是一种机制,允许类使用已经存在的类的属性和行为。已经存在的类是父类或超类。继承属性和方法的新类称为子类或子类。继承的主要优点...

  • 发布于 2021-07-01 09:50
  • 阅读 ( 423 )
gmmm604914
gmmm604914

0 篇文章

相关推荐