In SuperClass
, wenn ich clone()
Methode überschreiben, dann gibt es kein Problem.Bei Unterklasse Kompilierungsfehler: Nicht erreichbare catch block für CloneNotSupportedException
public class SuperClass implements Serializable, Cloneable {
public Object clone() {
try {
return super.clone();
} catch (CloneNotSupportedException e) {
return null;
}
}
}
Als ich clone()
Methode in meinem SubClass
überschreiben, indem genau gleiche tun (Kopieren und einfügenclone()
Methode von Superklasse) es Kompilierungsfehler zeigt
public class SubClass extends SuperClass implements Serializable, Cloneable {
public Object clone() {
try {
return super.clone();
} catch (CloneNotSupportedException e) {
return null;
}
}
}
Compilation Fehler in SubClasss
bei der Zeile mit catch
:
Unreachable catch block for CloneNotSupportedException. This exception is never thrown from the try statement body
Wenn ich die Methode clone()
von SuperClass
entferne, dann wird SubClass
keinen Fehler anzeigen.
Wo ist die Lücke meines Verständnisses?
Danke ** Eran **. Jetzt fühle ich mich schämen, dass ich nur mit '' super'' Schlüsselwort und ** Compile-Time Exception ** verwechselt habe. – mmuzahid
Manchmal passiert es. Wir werden schnell unsere einfachen Fehler erkennen. –