2011-01-08 78 views
0

我们可以通过从子类扩展来使用基类函数。通常我们使用在Object类中定义的equals()方法。我在书中读到每个类都会扩展Object类因此我们可以在用户定义的类中使用像equals()这样的函数和子类引用。关于用户定义类的对象类函数访问

我有一个疑问是扩展Object类(即使任何其他扩展Object类的类),我们都可以使用equals方法。

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

回答

1

无论您做什么,默认情况下(默默无闻地),Java中的每个课程都会默认(不明确地)延伸Object

0

这是一个隐含规则,JVM可能会实现该机制。

0

如果你这样做:

Class Foo { } 

的编译器会把它当作好像它是

Class Foo extends Object { } 

即使当类只能有至多一个超类,如果你这样做

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

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

此致敬礼。