2011-01-08 77 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等...

此致敬禮。