[Java]基本16~25話の内容整理


継承からインタフェースへの多形性


継承

  • クラス継承変数またはメソッド
  • 子を継承する親
  • を選択します.
  • クラスの子拡張親
  • 「extends」キーワードは「継承のほか、さらに拡張する」と理解されています.

    継承フィーチャー

  • 親フィールドおよびメソッド
  • を提供する
  • 単一継承
  • の子クラスをオブジェクトとして作成すると、親クラスはまず
  • にオブジェクト化される.
  • すべてのクラスは、オブジェクトクラスから始まる継承関係のサブオブジェクト
  • である.
  • 開発時間が減少し、エラー率が低下

    メソッドオーバーライド


    子クラスによって継承関係の親を変更する方法を定義します.

    メソッド上書き条件

  • 親のメソッドと子の宣言子は同じ
  • サブクラスの再定義メソッドのアクセス制限は、親クラスの使用範囲
  • 以上である必要があります.

    過負荷と過負荷の違い


    オーバーライドオーバーライドオーバーライド関係継承などのクラスメソッドを区別します.明洞の同じパラメータが同じか、異なる戻りタイプが同じか、日常的なアクセス制限がないかは同じです.

    たけいせい


    コンテキスト関係で使用できる複数のデータ型のプロパティ
  • 継承関係では親に変換され、overridingメソッドでは子のメソッド
  • が実行される.

    抽象クラス


    1つ以上の抽象メソッドを持つ
  • クラス
  • 新しいキーワードでは生成できません.親でのみ
  • を生成できます.
    子クラスで
  • 親クラスを実装する必要がある抽象メソッド
  • abstract class 클래스명{
    }

    抽象メソッド


    宣言のみのメソッド
    접근제한자 abstract 리턴타입 메소드명(매개변수);

    抽象クラスを使用する理由


    (1)クラス設計時の統一変数とメソッドの名称
    (2)コード重複除外⑪継承関係
    (3)多形性概念の適用-コードが変更されても交換部品のように簡単に修正できる

    @Overrideを表示する理由


    エラーは発生しませんが、表示されるとコンパイラは再定義メソッドとして認識するため、エラーが発生します.
    すでに作成している場合は、エラーを事前に配置することで開発者のエラーを回避できます.

    Finalクラス

  • 継承不可クラスex.String,Math
  • コンパイルエラー
  • Finalメソッド

  • 再定義できない方法
  • を使用して、特定のメソッドを変更できません.
    親がfinalの場合、子クラスで
  • を再定義することはできません.

    Final変数

  • 値不変の変数
  • は、通常、クラス内でフィールドとして宣言し、ジェネレータによって初期値を
  • に置き換える.

    ていすう


    static finalキーワードを使用してクラス内のフィールドとして宣言

    インタフェース


    実行コードは、呼び出しコードから直接実行するのではなく、インタフェースを介して実行されます.
    		실행		   실행
    		→		    →
    호출코드 ← 인터페이스 ← 실행코드
    		결과		  결과

    インタフェース宣言

  • は主に定数と抽象法から構成される.
  • すべてのメンバーは、パブリックアクセス制限者
  • です.
    interface 인터페이스명 {
    	static final 자료형 상수명 = 값;
    	abstract 리턴타입 추상메소드명();
    }
  • 静的final,abstractを省略してもコンパイラは
  • を自動的に追加します.
  • インタフェースのすべての変数は定数であり、すべての方法は抽象的な方法
  • である.
  • Java 8以降、デフォルトメソッドと静的メソッドをメソッドに適用できます.

    インタフェースフィーチャー


    (1)親、子の概念が存在する
    (2)クラス間継承,インタフェースとクラス間実装
    (3)オブジェクトを作成できません
    (4)実装されたクラスを使用してオブジェクトを作成する
    (5)複数実施
    (6)インタフェース間継承可能-複数のインタフェースを継承可能

    かいめんたいけいせい

  • 実装クラスは、インタフェース
  • に自動的に変換することができる.
  • インタフェースを実装複数のクラスをオブジェクトとして作成し、同じ方法
  • を実行する.