2017-10-20 74 views
2

我正在學習Java,並且有些東西我無法理解。 如果我理解正確,通過實現一個接口,我不得不實現接口所有的方法。實現Clonable接口,但不必覆蓋clone()方法

但是,在可克隆的情況下呢?如果我實施它,我不會強制執行克隆方法。這是爲什麼發生?

+0

我不認爲有人真正理解爲什麼它是這樣設計的。 –

回答

4

Clonable是一個標記接口,它讓你知道對象可以被克隆。您不必強制執行clone方法,因爲此類方法已在您的類中使用protected訪問修飾符(從Object :: clone繼承)。

+0

通過說「標記接口」你的意思是Clonable接口是空的? –

+2

是的,如果你看看這個界面的內部,沒有方法。 – degr

0

因爲Cloneable接口沒有這種方法。