2016-11-29 48 views
0

以下是室壁運動流超級在實現類中的用途是什麼?

Class XYZ implements ABC { 
     XYZ(){ 
     super(); 
    } 
    } 

什麼是在這種情況下,使用超級的執行過程中我遇到的代碼?

+0

這裏ABC是一個接口 – Deepak

+7

這裏沒有用。 –

+1

@OliverCharlesworth它被隱含,如果省略。也許「冗餘」是一個更好的描述 – Bohemian

回答

1

super用於調用父類的constructor,methodsattributes。在這種情況下,super將調用Object類的構造函數,默認情況下,Java是所有類的超類。因此,在這種情況下,super是多餘的。

+0

我不確定你是對的。這取決於接口是否包含默認實現。 – Rotem

0

在子類中使用super()意味着調用超類的構造函數。如果類XYZ實現了一個接口,那麼對構造函數的調用沒有意義,因爲接口通常不包含實現。 我知道,自從Java 8以後,就可以向接口添加默認實現了。當接口在方法或構造函數之前包含默認關鍵字時,該方法或構造函數表示相關方法或構造函數的默認實現。

您可以閱讀更多關於Interface Method Declarations

+0

這是否意味着接口可以具有實現的方法? – Deepak

+0

是的,一個默認的實現。它不會破壞與預先存在的二進制文件的兼容性。 – Rotem