Java継承


Java継承


継承とは?

  • 親(親)クラスのメンバーを子(子)クラス
  • に継承
  • 開発したクラスを再利用して新しいクラスを作成し、コードの重複を減らす
  • .
  • アクセス制限者プライベート継承不可
  • アクセス制限がデフォルトの場合、他のパッケージのクラス
  • は継承できません.
  • 多重継承不可
  • クラス継承


    宣言
  • 子クラスの場合、どの親クラスを継承するかを決定する
  • class 하위클래스 extends 상위클래스 {}
  • 親クラスは、子クラスよりも一般的な概念と機能
  • を含む.
  • 子クラスは、親クラスよりも具体的な概念および機能
  • を含む.

    親ジェネレータ呼び出しsuper()

  • を作成するには、すべてのオブジェクトがクラスの作成者を呼び出す必要があります.
  • 子オブジェクトを作成するには、まず親オブジェクト
  • を作成します.

    再定義メソッド(上書き)


    サブクラスで
  • 継承のいくつかのメソッドを変更し、
  • を使用します.

    メソッドの再定義

  • サブクラスで同じメソッド
  • を再定義する
  • の拡張メソッドと同じ戻りタイプ、メソッド名、パラメータ
  • が必要です.
  • アクセス制限はさらに強化できません
    -親のメソッドがpublicである場合、子のメソッドもpublic
  • である.
  • 新しい異常を投げ出すことができない
  • 親メソッドの呼び出し

  • を超えると、高度なメソッドは
  • で非表示になります.
  • サブクラスで上書き親を呼び出す方法が必要な場合は、スーパーキー
  • を使用します.

    finalクラスとfinalメソッド

  • finalキーワードは、クラス、フィールド、およびメソッド宣言
  • に使用できます.
  • 変更不可
  • finalクラス

  • は最終クラス
  • に継承できません.
  • finalクラスは親ではありません
  • 最終メソッド

  • 最終方法
  • で上書きできない方法
  • タイプ変換が多すぎます


    たけいせい

  • と同様のタイプですが、異なる実行結果のオブジェクトの性質を使用できます:
  • では、タイプをより高いレベルの
  • に変換できます.
  • 親タイプは、すべてのサブオブジェクト
  • を含むことができる.

    タイプ変換

  • データ型を他のデータ型に変換する
  • クラスのタイプ変換は、継承関係のクラス間で発生します.
  • 子タイプは、親タイプ
  • に自動的に変換されます.

    自動タイプ変換

  • プログラム実行中自動変換タイプ
  • 下->前
  • の親タイプに自動的に変換すると、
  • にアクセスできるのは、親に宣言されたフィールドとメソッドのみです.
  • サブクラスを上書きすると、サブクラスメソッド
  • が呼び出される.

    配列によるオブジェクトの管理

  • 同じタイプの値をアレイで管理することがより有利である
  • .

    パラメータの多形性

  • メソッドを呼び出す場合は、パラメータタイプと同じパラメータ値を指定する必要があります.
    パラメータにサブタイプオブジェクトを指定することにより、
  • パラメータの値を多様化することもできる
  • .
  • パラメータのタイプがクラスである場合、そのクラスのオブジェクトおよびサブオブジェクトは、パラメータ(自動タイプ変換)
  • として使用することができる.
  • サブオブジェクトがメソッドを上書き(再定義)する場合、実行結果は多様な
  • になります.

    強制型変換(Casting)

  • 親->子
  • 子タイプが親タイプに自動的に変換され、子タイプに変換する場合は
  • を使用できます.
  • 親タイプはすべて子タイプに変換されません
    子変数名=(子)親タイプ;
  • オブジェクトタイプのチェック(instanceof)

  • 強制タイプ変換は、子->親->子
  • のみです.
  • instanceof演算子を使用して、クラスのインスタンス(オブジェクト)を決定します.
    booleanresult=変数名instanceofタイプ
  • 抽象クラス

  • オブジェクトを直接作成できるクラスをソリッドクラス
  • と呼びます.
  • クラスの共通の特徴を抽出し、抽象クラス
  • として宣言する
  • 抽象クラスは親であり、エンティティクラスは子関係(継承された関係)
  • である.
  • 抽象クラスはオブジェクト
  • を直接作成できません.
  • 抽象クラスはnew演算子を使用してインスタンス
  • を作成できません.
  • は、エンティティークラスを作成する親
  • としてのみ使用されます.
  • extends以降に到達するクラス
  • 抽象クラスの用途

  • エンティティークラスの共通フィールドとメソッドの統一名
  • エンティティークラスの作成時間を短縮する
  • 抽象クラスの宣言

  • クラス宣言で抽象キーワード
  • を使用
  • 抽象キーワードではオブジェクトを作成できません.サブクラス
  • のみを継承できます.
  • フィールド、作成者、宣言可能メソッド
  • サブオブジェクトはsuper()を介して抽象クラスオブジェクトを作成するため、作成者は
  • を使用する必要があります.

    抽象メソッドと上書き

  • メソッドを統一する宣言のみで、実行内容がエンティティクラスによって異なる場合、
  • 抽象クラス宣言可能抽象メソッド
  • メソッドの宣言のみで実行されないメソッド
  • メソッド宣言で抽象キーワードを使用し、括弧なし