Переопределение клона с возможностью клонирования и без него

Я прочитал javadoc для Object и Cloneable и я просто не "получаешь" что-то. Может кто-нибудь объяснить мне производительность и / или функциональные различия в двух следующих примерах:

public class Widget
{
    @Override
    public Widget clone()
    {
            // ... return a clone of this Widget
    }
}

.. и:

public class Widget implements Cloneable
{
    @Override
    public Widget clone()
    {
            // ... return a clone of this Widget
    }
}

Поскольку Cloneable не имеет привязанных к нему методов и дает только вам доступ к защищенному методу clone () объекта , имеет ли смысл вообще реализовать его, учитывая, что вам придется в конечном итоге написать свой собственный (безопасный) клон ( ) код в любом случае? Заранее благодарим за любые разъяснения / комментарии.

6
задан IAmYourFaja 14 October 2011 в 18:57
поделиться