SuperClass
で、clone()
メソッドをオーバーライドすると問題はありません。私はまったく同じことで、私のにclone()
メソッドをオーバーライド(コピー、スーパークラスからclone()
方法を貼り付け)サブクラスでコンパイルエラー:CloneNotSupportedExceptionの到達不能キャッチブロック
public class SuperClass implements Serializable, Cloneable {
public Object clone() {
try {
return super.clone();
} catch (CloneNotSupportedException e) {
return null;
}
}
}
それはコンパイルエラーに含む行でSubClasss
で
public class SubClass extends SuperClass implements Serializable, Cloneable {
public Object clone() {
try {
return super.clone();
} catch (CloneNotSupportedException e) {
return null;
}
}
}
コンパイルエラーを示していますcatch
:
Unreachable catch block for CloneNotSupportedException. This exception is never thrown from the try statement body
再度、clone()
をSuperClass
から削除すると、はエラーを表示しません。
私の理解のギャップはどこですか? SuperClass
ありがとうございます**エラン**。今私は「スーパー」キーワードと**コンパイル時例外**を混同しているのは残念です。 – mmuzahid
時にはそれが起こります。私たちは簡単な間違いをすぐに認識します。 –