默认情况下,任何类都扩展Object类.这不是说Java支持多重继承吗? [英] By default any class extends Object class. Doesn't it mean java supports multiple inheritance?

查看:71
本文介绍了默认情况下,任何类都扩展Object类.这不是说Java支持多重继承吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

每个人都知道在Java中我们只能扩展"ONE"类.

Everybody knows that in java we can only extend "ONE" class.

但是为了理解:

  1. 任何Java类都隐式扩展java.lang.Object
  2. 如果类A扩展了类B,那么类A不会隐式扩展类B和java.lang.Object吗?

在这种情况下,默认情况下我们将扩展两个类.

In such a case we are extending two classes by default.

如果Java不支持多重继承,为什么允许?

Why is it allowed if Java doesn't support multiple inheritance ?

推荐答案

那将是多级继承. 您误会了多级到多级.

That would be a multilevel inheritance. You are mistaking multiple to multilevel.

A->B->C //This is multilevel inheritance which you are talking about

多重继承就像(在Java中是不可能的)

Multiple inheritance is like (which is not possible in java)

     A
   |   |
   B   C

Java不支持使任何模棱两可的情况消失的多重继承.但是精心实现 implement 关键字以实现实现确实会产生多重继承

Java doesn't support multiple inheritance that makes any ambiguous cases to fade away. But careful implementation of implement keyword for implementing does give feel of multiple inheritance

结论:

A类可以扩展B类,而B类可以扩展C类.这仍然是单一继承.所有这些类都形成一棵树,其根是Object类,并且每个类(Object除外)都有一个直接的直接超类(或父类)

Class A can extend a class B which extends class C. This is still single inheritance. All the classes form a tree, where the root is the Object class, and each class (except of Object) has exactly one direct super-class (or parent class)

这篇关于默认情况下,任何类都扩展Object类.这不是说Java支持多重继承吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆