关于来自用户定义的类的Object类函数访问

时间:2011-01-08 17:12:31

标签: java

我们可以通过从子类扩展来使用基类函数。通常我们使用在Object类中定义的equals()方法。我在书中读到每个类都将扩展Object类,以便我们能够使用像在我们的用户定义的类中使用子类引用的equals()。

我怀疑的是扩展Object类(即使是扩展Object类的任何其他类)我们也可以使用equals方法。

任何人都可以解释它是如何发生的吗?

3 个答案:

答案 0 :(得分:1)

无论你做什么,Java中的每个班级都默认(默认)延伸Object

答案 1 :(得分:0)

这是隐式规则,JVM可以实现该机制。

答案 2 :(得分:0)

如果你这样做:

Class Foo { }

编译器会将其视为

Class Foo extends Object { }

即使班级最多只能有1个超级班级,如果你这样做

Class Foo extends Bar { }
Class Bar extends Biz{ }

在层次结构中的某个时刻,其中一个类将具有Object类作为它的父类,所以即使只有最顶层的类直接从Object扩展,所有其他类都在层次结构也会间接扩展Object,因此可以访问Object类定义的方法,例如:clone,equals,finalize等...

问候。