CodeGym /Java Blog /ランダム /3 つの優先ルール
John Squirrels
レベル 41
San Francisco

3 つの優先ルール

ランダム グループに公開済み
新しい Java プログラマは、メソッド オーバーライドに関するこの 3 つのルールに困惑してしまいました。ルールを単純化しましょう。Class Parent{ (ルール 1. アクセス指定子) protected (ルール 2. 戻り値の型) dothework() がスローする数 (ルール 3.例外) 例外 { } } Class child extends Parent{ (1. 指定子) public (2. 戻り値の型) Integer dothework() throws (3.Exception) IOException { } } (1)、(2)、(3) の位置がどのように機能するかを知っていれば、優先概念は 100% 明確になります。 1. アクセス指定子: 子クラスのメソッド指定子は、親クラスのメソッド指定子以上である必要があります。指定子の順序は、(高いほうから低いほうへ) public > protected >default > private です。プライベート メソッドはオーバーライドできないことに注意してください。 2. 戻り値の型: Java は共変戻り値の型をサポートするようになりました。子メソッドの戻り値の型では、親メソッドの戻り値の型と同じか、子の型である必要があります。ここでジェネリックスが使用されると、新しい開発者にとっては困惑することがあります。ジェネリックスを使用した Co-variant 戻り型の概念を学習し、クリアする必要があります。 3.例外 子クラスのメソッドがチェック例外をスローする場合、親クラスのメソッドはそのチェック例外と同じタイプ、または親のタイプのチェック例外をスローする必要があります。チェックされていない例外の場合、ルールは適用されないことに注意してください。したがって、チェック済み例外と未チェック例外のタイプを知っておく必要があります。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION