Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否每个java类都隐式地从对象类继承_Java - Fatal编程技术网

是否每个java类都隐式地从对象类继承

是否每个java类都隐式地从对象类继承,java,Java,可能重复: 我想知道Java中的每个类是否都是隐式地从对象继承的。我正在读一本书,书上说不,我很困惑。引用: 类对象是类层次结构的根。每个班级都有 对象作为超类。所有对象(包括数组)都实现 这个类的方法 那本书在撒谎。看看JavaAPI中的类,您会注意到第一个父类实际上是 顺便问一下:那本书到底是什么 **编辑** 让我们先澄清一件事: Q:每个java类是否都隐式继承自对象类? >: >如果你认为类对象< /代码>不能有一个超类“”,那么 > < >强>,因此你的书是正确的。 但是,如果

可能重复:

我想知道Java中的每个类是否都是隐式地从对象继承的。我正在读一本书,书上说不,我很困惑。

引用:

类对象是类层次结构的根。每个班级都有 对象作为超类。所有对象(包括数组)都实现 这个类的方法


那本书在撒谎。看看JavaAPI中的类,您会注意到第一个父类实际上是

顺便问一下:那本书到底是什么

**编辑**

让我们先澄清一件事:

Q:每个java类是否都隐式继承自对象类?

<强> >:<强> >如果你认为类<代码>对象< /代码>不能有一个超类“”,那么<强> > < >强>,因此你的书是正确的。

但是,如果你认为“”,并且被排除在问题之外(因为一个类不能继承它自己),那么根据定义<强> <是/强>



从我对该语言及其规范的理解来看,应该将“”视为普通。这意味着创建的每个对象都拥有类
对象
中定义的方法。因此,由于类
对象
没有超类(因为规范中没有超类!),而且由于所有类都继承了这些方法(这些方法在JVM创建的任何对象中都可用),那么如果类没有显式扩展
对象
(因为它不是类
对象
),它是通过自身或虚拟机从超类隐式实现的。

这本书在一种情况下可能是正确的。
对象
类不扩展
对象
。但请记住,其他类都是这样做的。
见文件。

如您所见……类继承自对象:

公共最终类
扩展对象
实现可序列化、GenericDeclaration、Type、AnnotatedElement

把这本书扔进垃圾桶!!

你到底在读哪本书,谁是写这本书的白痴?你能给我一个参考或准确的引用吗?也许这本书是在谈论直接继承?每个类都是对象的直接或间接子类。@JackManey白痴一般不写编程书,他们倾向于坚持管理我猜是OP误读或误解了什么。为什么对这个问题投反对票?确实这是一个非常明智的问题。请注意解释。答案是,如果有显式的
extends-Foo
,那么就没有隐式的
extends-Object
。当然,根类必须是
Object
。或者,如果有显式的
extends-Foo
cit
extends Foo
,然后有一个隐式的
extends对象
。当然在层次结构的某个地方有。但是隐式的
extends对象
一旦有一个显式的
extends
,它就消失了。这只是措辞的问题。一个类只能扩展一个类,并且只有一个直接的超类。没有imp合法的“扩展对象”用于扩展其他类的类。当然,如果遵循超类链,则始终以对象结尾。@PatriciaShanahan,当然这是隐式继承:),因为类扩展其他类时,另一个类还附带了
对象
公共接口。如果你从字面上理解这个参数,那么你可能会认为不是树的所有节点都在根节点下,因为根节点没有根节点。。。没道理,说得好。对象是唯一没有超类的类。我仍然不相信这本书是错的,而不是被误解了。没有实际的引语是不可能说出哪一个的。@Yanick Rochon:我想你误解了我的答案。我并不是说“树的所有节点都不在根下”。我只是说“树的根节点不在根节点下”。@prageeth,好吧,我同意你的看法。<代码>对象< /代码>类将是一个例外,但是由于这个类实际上是没有用的(或者可能只有当使用一些不安全的锁定方法……)时,您必须考虑它是一个“特殊的情况”:
public class Object 
public final class Class<T>
    extends Object
    implements Serializable, GenericDeclaration, Type, AnnotatedElement