2016 - 2024

感恩一路有你

java是什么 java为什么要设计interface,是为了尽可能替代类的继承吗?

浏览量:2090 时间:2021-03-27 18:06:13 作者:admin

java为什么要设计interface,是为了尽可能替代类的继承吗?

您好,您的问题包含两个小问题:1。为什么Java设计界面?② 是为了尽可能地替换类继承吗?

接口是一系列方法的声明,例如方法名称、参数、返回值和其他信息。接口中的方法未实现。这些方法可以在不同的地方由不同的类实现。

继承是指子类继承父类的特征和行为,使子类具有父类的实例字段和方法。

接口的主要功能是减少代码耦合,屏蔽实现层。例如,当前端和后端接口相互作用时,我们可以约定接口层不会相互影响。至于后端接口的实现,我们可以慢慢来。

继承的主要功能是在现有功能的基础上继续扩展。首先,它清楚地反映了相关类之间的层级关系。其次,它减少了代码的冗余,大大提高了程序的可重用性。

①定义的修饰符不同(接口),(扩展)

2。接口中只能定义全局常量和抽象方法,继承中可以定义属性方法、变量、常量等。

③当接口由类实现时,接口中的所有方法必须在类中实现,继承可以调用指定的方法。

④继承只能继承一个类,但实现可以实现多个接口,用逗号分隔。

JAVA只可以单继承但是object又是每个类的超类,在这基础上类还可以继承一个类,是什么原理?

1. Java只支持单一继承,但可以实现多个接口。如果未显示继承任何类,系统将默认继承对象类。但是,如果a显示继承B,则系统不会给出默认的继承对象,而是a将继承B,B将继承object,这相当于间接地继承对象。

2. 谈到继承,您会想到面向对象的一个原则:优先考虑组合而不是继承。为什么?

首先,继承和组合都可以达到代码重用的效果。我认为有以下考虑:

1。继承的父类继承父类的成员以增加耦合度

2。如果父类发生变化,会影响子类,组合只需要保证接口的稳定性

3。子类在编译时继承父类,不能动态更改,但组合可以根据需要使用不同的实现类。

因此,组合更加灵活和可扩展。

但是,如果您需要向上移动,或者明确说明类关系是is-a关系,则仍然需要使用继承。

希望对您有所帮助,可以跟着我,继续分享java知识,谢谢。

Java为什么不支持多继承?

首先,学习java应该从生活中探索。这并不复杂。比如,一个人有生父,对吧!所以Java的例子会在课堂生活中得到很好的体现!继承的主要目的是从父继承,实现更好的代码重用性

!接下来,让我们从代码级别学习:

假设a->继承B,那么我们可以得到B类的类a中可以使用的方法(注意,这里没有提到修饰符的问题)

然后假设a->继承B,a->此时继承C,类B和类C中声明了一个同名的方法,因此类a很尴尬。类A不重写类B和类C中的方法,那么类A使用B怎么办?还是C?

我觉得a自己很困惑,哈哈。所以为了避免这种尴尬的事情,Java不允许出现这种情况。但值得注意的是:Java在有多重继承的时候,是接口:

这里很好玩,为什么可以接口呢?注意这个接口是一个规则的体现,它描述了一个标准:

假设Employee类继承了human,我们知道human有一些特性,但是不同的Employee类有不同的职责,比如:Employee a(Employee的一个例子),他是一个职员,他很会使用电脑,而且他会打篮球。同样,员工B(一个员工的例子),他是一个财务员,他也会电脑,但他会踢足球。在这个时候,会有一个问题:我们要把上面三个功能:玩电脑,踢足球和打篮球放在人类当中吗?我们知道Employee类是从人类继承来的。

答案是否定的,因为这将导致父类过于膨胀。此时,界面出现,EMP extensions person implementation playfootball。这样更好吗!如果一个球员踢得好,也许他也熟悉足球的规则。然后是中文和英文的橄榄球扩展。因为有很多标准。一个足球运动员能踢足球,他也能很好地冲刺

!我不知道这是否能让你明白,因为这都是亲力亲为的,所以我真的不想浪费精力。如果你有任何问题,可以直接关注我的标题:它是蛇头病,只是有一个私人聊天!嘿,嘿,或者注意右上角的波浪!哈哈,我以前也发表过这方面的文章。你可以看看

java是什么 java类支持多继承吗 java可以通过什么实现多继承

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。