„niestabilny” w podpisie metody? [duplikować]

To pytanie ma już tutaj odpowiedź:

Dlaczego metoda jest niestabilna w Javie? 7 odpowiedzi

Ten jest dziwny. Mam następujący kod:

<code>class A
{   
    protected A clone() throws CloneNotSupportedException
    {
        return (A) super.clone();       
    }
}
</code>

kiedy zdekompilowałem jego kod bajtowy przez 'showmycode.com', pokazał mi następujący kod:

<code>class A
{

    A()
    {
    }

    protected A clone()
    throws clonenotsupportedexception
    {
        return (A)super.clone();
    }

    protected volatile object clone()
    throws clonenotsupportedexception
    {
        return clone();
    }
}
</code>

Co to znaczy, że typ powrotu metody jest zmienny w drugiej metodzie „klonowania”? (Ten kod został skompilowany przez domyślny kompilator JDK 1.6 Eclipse).

questionAnswers(4)

yourAnswerToTheQuestion