例外をスローするメソッドのオーバーライドAdvertisement基底クラスの作成
まず、元となるクラスを作成する。このクラスはthrowException()メソッドが呼ばれるとIOExceptionをスローする。
Baseクラス
import java.io.IOException;
public class Base{
public void throwException() throws IOException{
throw new IOException();
}
}
同じ例外
同じ例外をスローするメソッドでオーバーライドしてみる。
ThrowEqualクラス
import java.io.IOException;
public class ThrowEqual extends Base{
public void throwException() throws IOException{
throw new IOException();
}
}
コンパイルエラーも実行エラーもなし。
例外をスローしない
例外をスローしないメソッドでオーバーライドしてみる
public class NoThrow extends Base{
public void throwException(){}
}
こちらもコンパイルエラーも実行エラーもなし。
互換性のない例外をスローする
基底クラスでスローしている例外と互換性のない例外をスローするメソッドでオーバーライドする。
public class ThrowOther extends Base{
public void throwException() throws CloneNotSupportedException{
new CloneNotSupportedException();
}
}
コンパイルエラー Method throwException() クラスTrowOtherはmethod throwException()クラスBaseを上書きできません。 上書きされるメソッドはjava.lang.CloneNotSupportedExceptionをスローしません 行4 Advertisement |
ショートカット・634・634ブログ ・このカテゴリのトップページに戻る ・Incubator(Pukiwiki) ・634ラボ UIコレクションギャラリー ZO-3ジェネレーター サイト検索Y!ログール |