Java継承
継承とは?
親(親)クラスのメンバーを子(子)クラスに継承
開発したクラスを再利用して新しいクラスを作成し、コードの重複を減らす.
アクセス制限者プライベート継承不可アクセス制限がデフォルトの場合、他のパッケージのクラスは継承できません.
多重継承不可クラス継承
宣言
子クラスの場合、どの親クラスを継承するかを決定するclass 하위클래스 extends 상위클래스 {}
親クラスは、子クラスよりも一般的な概念と機能を含む.
子クラスは、親クラスよりも具体的な概念および機能を含む.
親ジェネレータ呼び出しsuper()
を作成するには、すべてのオブジェクトがクラスの作成者を呼び出す必要があります.子オブジェクトを作成するには、まず親オブジェクトを作成します.
再定義メソッド(上書き)
サブクラスで
継承のいくつかのメソッドを変更し、を使用します.
メソッドの再定義
サブクラスで同じメソッドを再定義する
の拡張メソッドと同じ戻りタイプ、メソッド名、パラメータが必要です.
アクセス制限はさらに強化できません
-親のメソッドがpublicである場合、子のメソッドもpublic である.
新しい異常を投げ出すことができない親メソッドの呼び出し
を超えると、高度なメソッドはで非表示になります.
サブクラスで上書き親を呼び出す方法が必要な場合は、スーパーキーを使用します.
finalクラスとfinalメソッド
finalキーワードは、クラス、フィールド、およびメソッド宣言に使用できます.
変更不可finalクラス
は最終クラスに継承できません.
finalクラスは親ではありません最終メソッド
最終方法で上書きできない方法タイプ変換が多すぎます
たけいせい
と同様のタイプですが、異なる実行結果のオブジェクトの性質を使用できます:では、タイプをより高いレベルのに変換できます.
親タイプは、すべてのサブオブジェクトを含むことができる.
タイプ変換
データ型を他のデータ型に変換するクラスのタイプ変換は、継承関係のクラス間で発生します.子タイプは、親タイプに自動的に変換されます.
自動タイプ変換
プログラム実行中自動変換タイプ下->前の親タイプに自動的に変換すると、にアクセスできるのは、親に宣言されたフィールドとメソッドのみです.
サブクラスを上書きすると、サブクラスメソッドが呼び出される.
配列によるオブジェクトの管理
同じタイプの値をアレイで管理することがより有利である.
パラメータの多形性
メソッドを呼び出す場合は、パラメータタイプと同じパラメータ値を指定する必要があります.
パラメータにサブタイプオブジェクトを指定することにより、パラメータの値を多様化することもできる.
パラメータのタイプがクラスである場合、そのクラスのオブジェクトおよびサブオブジェクトは、パラメータ(自動タイプ変換)として使用することができる.
サブオブジェクトがメソッドを上書き(再定義)する場合、実行結果は多様なになります.
強制型変換(Casting)
親->子子タイプが親タイプに自動的に変換され、子タイプに変換する場合はを使用できます.
親タイプはすべて子タイプに変換されません
子変数名=(子)親タイプ;
オブジェクトタイプのチェック(instanceof)
強制タイプ変換は、子->親->子のみです.
instanceof演算子を使用して、クラスのインスタンス(オブジェクト)を決定します.
booleanresult=変数名instanceofタイプ
抽象クラス
オブジェクトを直接作成できるクラスをソリッドクラスと呼びます.
クラスの共通の特徴を抽出し、抽象クラスとして宣言する
抽象クラスは親であり、エンティティクラスは子関係(継承された関係)である.
抽象クラスはオブジェクトを直接作成できません.
抽象クラスはnew演算子を使用してインスタンスを作成できません.
は、エンティティークラスを作成する親としてのみ使用されます.
extends以降に到達するクラス抽象クラスの用途
エンティティークラスの共通フィールドとメソッドの統一名エンティティークラスの作成時間を短縮する抽象クラスの宣言
クラス宣言で抽象キーワードを使用
抽象キーワードではオブジェクトを作成できません.サブクラスのみを継承できます.
フィールド、作成者、宣言可能メソッドサブオブジェクトはsuper()を介して抽象クラスオブジェクトを作成するため、作成者はを使用する必要があります.
抽象メソッドと上書き
メソッドを統一する宣言のみで、実行内容がエンティティクラスによって異なる場合、抽象クラス宣言可能抽象メソッドメソッドの宣言のみで実行されないメソッドメソッド宣言で抽象キーワードを使用し、括弧なし
Reference
この問題について(Java継承), 我々は、より多くの情報をここで見つけました
https://velog.io/@bangsy/1일-1공-Java상속
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol