Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaメソッドのオーバーライドのルール


メソッドを適切にオーバーライドする際に考慮すべきルールは次のとおりです-

  • 引数リストは、オーバーライドされたメソッドの引数リストとまったく同じである必要があります。
  • 戻り型は、スーパークラスの元のオーバーライドされたメソッドで宣言された戻り型と同じか、サブタイプである必要があります。
  • アクセスレベルは、オーバーライドされたメソッドのアクセスレベルよりも制限することはできません。例:スーパークラスメソッドがパブリックとして宣言されている場合、サブクラスのオーバーライドメソッドをプライベートにすることも保護することもできません。
  • インスタンスメソッドは、サブクラスに継承されている場合にのみオーバーライドできます。
  • finalと宣言されたメソッドはオーバーライドできません。
  • staticと宣言されたメソッドはオーバーライドできませんが、再宣言できます。
  • メソッドを継承できない場合は、オーバーライドできません。
  • インスタンスのスーパークラスと同じパッケージ内のサブクラスは、privateまたはfinalとして宣言されていないスーパークラスメソッドをオーバーライドできます。
  • 別のパッケージのサブクラスは、publicまたはprotectedと宣言された非finalメソッドのみをオーバーライドできます。
  • オーバーライドされたメソッドは、オーバーライドされたメソッドが例外をスローするかどうかに関係なく、チェック解除された例外をスローできます。ただし、オーバーライドするメソッドは、オーバーライドされるメソッドによって宣言されたものよりも新しい、またはより広いチェック済み例外をスローしないようにする必要があります。オーバーライドするメソッドは、オーバーライドされるメソッドよりも狭い、または少ない例外をスローできます。
  • コンストラクターをオーバーライドすることはできません。

  1. JavaのOpenCVimshow()メソッドに代わるものはありますか?

    HighGui org.opencv.highguiのクラス パッケージを使用すると、ウィンドウを作成および操作して表示できます。このクラスのimshow()メソッドを使用して、ウィンドウに画像を表示できます。このメソッドは2つのパラメーターを受け入れます- ウィンドウの名前を表す文字列変数。 画像の内容を表すMatオブジェクト。 waitKey()を呼び出すことをお勧めします imshow()の後のメソッド 。 例 次の例では、画像を読み取り、それをグレースケール画像に変換し、その中のエッジを検出して、HighGuiを使用してウィンドウに3つの画像すべて(元の画像

  2. JavaでtoString()メソッドをオーバーライドする目的

    toString()の目的は何ですか Javaのメソッド? クラスのオブジェクトを文字列として表現する場合は、toString()を使用できます。 オブジェクトのテキスト表現を返すメソッド。 オブジェクトを出力すると、デフォルトでJavaコンパイラがtoString()を呼び出します。 オブジェクトのメソッド。したがって、toString()をオーバーライドすることによって メソッドでは、意味のある出力を提供できます。 次の例でこの概念を見てみましょう: toString()メソッドのオーバーライド package io.devqa.tutorials; public class T