独自に作成したカスタム例外で super を呼び出す理由を知りたいだけです。
public class MyException extends Exception
{
public MyException(String message)
{
super(message);
}
}
ここで super(message) を呼び出すのは何ですか
独自に作成したカスタム例外で super を呼び出す理由を知りたいだけです。
public class MyException extends Exception
{
public MyException(String message)
{
super(message);
}
}
ここで super(message) を呼び出すのは何ですか
派生クラスは常に基本クラスをテンプレートとして持つため、派生オブジェクトを構築する最初のステップとして基本クラスを初期化する必要があります。デフォルトでは、super
呼び出しが行われない場合、Java はデフォルト (パラメーターなし) コンストラクターを使用して基本クラスを作成します。別のコンストラクターを使用する場合は、使用super
して必要なパラメーターを渡し、正しいコンストラクターを呼び出す必要があります。
カスタム例外の場合super
、例外のエラー メッセージを初期化するために使用するのが一般的です。メッセージを基本クラスのコンストラクターに渡すことにより、基本クラスはメッセージを正しく設定する作業を処理します。
基本クラスのコンストラクターを呼び出すだけです。
Exception(String message)
指定された詳細メッセージで新しい例外を構築します。
なぜなら:
public MyException(String message)
{
//super() implicit call, how to set message???
}
したがって、メッセージを設定するには super(message) 呼び出しが必要です。
スーパーの使用は、たまたまクラスであるスーパー(ベース、親)クラスのコンストラクターを呼び出すことException
です