我正在學習Java,並且有些東西我無法理解。 如果我理解正確,通過實現一個接口,我不得不實現接口所有的方法。實現Clonable接口,但不必覆蓋clone()方法
但是,在可克隆的情況下呢?如果我實施它,我不會強制執行克隆方法。這是爲什麼發生?
我正在學習Java,並且有些東西我無法理解。 如果我理解正確,通過實現一個接口,我不得不實現接口所有的方法。實現Clonable接口,但不必覆蓋clone()方法
但是,在可克隆的情況下呢?如果我實施它,我不會強制執行克隆方法。這是爲什麼發生?
Clonable
是一個標記接口,它讓你知道對象可以被克隆。您不必強制執行clone
方法,因爲此類方法已在您的類中使用protected
訪問修飾符(從Object :: clone繼承)。
通過說「標記接口」你的意思是Clonable接口是空的? –
是的,如果你看看這個界面的內部,沒有方法。 – degr
因爲Cloneable接口沒有這種方法。
我不認爲有人真正理解爲什麼它是這樣設計的。 –