„niestabilny” w podpisie metody? [duplikować]
To pytanie ma już tutaj odpowiedź:
Dlaczego metoda jest niestabilna w Javie? 7 odpowiedziTen 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).