JAvaステップ2——継承&抽象クラス&funal
3838 ワード
継承
継承の概要
2つのクラスがextendsキーワードで関係を確立し、一般的にこの関係と呼ばれる双方を親クラスと子クラスと呼ぶ.
継承されたフォーマット
継承の特徴
1.javaでは単一継承のみがサポートされており、1つのサブクラスには1つの親しかいませんが、多層継承が可能で、1人の子供には1人の父親しかいませんが、おじいさん、曽おじいさんなどがいます.JAvaでは複数のサブクラスが1つの親を継承することをサポートし、1人の父親が複数の子供を持っていることに相当します.
継承中のメンバー変数の特徴サブクラスは、親非プライベートメンバーの子親クラスのメンバー変数の名前が異なる場合にのみ取得できます.親クラスのメンバー変数の子親クラスのメンバー変数の名前が同じ場合に取得されます.子クラスのメンバー変数 です.近接原則:誰が私に近いか、私は誰が局所変数があれば局所変数を使用します.局所変数がなければ、サブクラスのメンバー変数があれば、サブクラスのメンバー変数を使用します.局所変数とサブクラスのメンバー変数がなければ、親クラスのメンバー変数があれば、親クラスのメンバー変数を使用します. super:親クラスのメンバー変数とメンバーメソッドを取得できます.
継承中のメンバーメソッドの特徴&メソッド書き換え サブクラスにこのメソッドがない場合、親の が呼び出されます.サブクラスにこの方法がある場合、サブクラスの を呼び出す.
メソッド書き換えの適用シーン&注意事項子クラスが継承するメソッドが子クラスのニーズを満たすことができない場合、メソッドを用いて書き換えると、親クラスの機能(踏襲、伝承)を保持することもできるし、独自の機能を持つこともできる .メソッド書き換えの注意事項:親プライベートのメンバーメソッドを書き換えることはできません.親プライベートのメンバー は根本的に見えません.注記@Override:メソッド書き換え、親を書き換えるメソッド を説明します.
継承中の構築メソッドの実行順序 super(実パラメータリスト);文は、親クラスの構造メソッド(伝達パラメータによって決定されるもの)を呼び出すために子クラスの構造メソッドで使用され、 this(実参リスト);文はクラスの構築方法で使用され、本クラスの他の構築方法(伝達パラメータによって決定されるもの)を呼び出すために使用され、 superとthisの違い
super:サブクラスで親クラスを呼び出すメソッドまたはメンバー変数this:クラスで独自のメソッドまたはメンバー変数を呼び出す
長所と短所を受け継ぐ.の利点は、複数のクラスの共通のコードを1つのクラスに抽出することができ、これらのクラスがこの抽出されたクラスを継承するようにし、コードを簡略化し、メンテナンス性を向上させる である.の欠点はクラスとクラスの間の結合性を増加し、javaのプログラミング思想(高集約、低結合)の集約に合わない:自分であることを完成する能力の結合である:クラスとクラスの関係 匿名オブジェクト&final
匿名オブジェクト定義&使用
匿名オブジェクト、すなわち無名オブジェクトnewキーワードを直接使用してオブジェクトを作成匿名オブジェクトの適用シーン:メソッドが1回だけ呼び出されたときに匿名オブジェクトをパラメータとして渡すことができるが、パラメータを渡す前に他のことをすることはできない .匿名オブジェクトは、メンバー変数を呼び出して値を割り当てることができますが、値を割り当てることは意味しません. finalキーワード
はjavaの修飾子で、メンバー変数、メンバーメソッド、クラスを修飾します.特徴: を初期化しなければならない
abstract
abstractの概要
Javaのキーワードの1つで、クラスと方法を修飾するために使用することができて、abstractに修飾されたクラスを抽象クラスと呼んで、abstractに修飾された方法を抽象方法と言います抽象クラス:abstractで修飾されたクラスで、オブジェクトをインスタンス化できず、継承可能、 抽象メソッド:abstractによって修飾されたメソッドは、抽象クラスに存在し、1つのクラスに抽象メソッドが含まれている場合、このクラスは抽象クラスでなければならないが、抽象クラスには抽象メソッドがなくてもよい、 抽象クラスの特徴
1.abstractで修飾するクラス2.抽象メソッドは抽象クラスにのみ存在する.クラスには抽象的な方法がなくてもよい.抽象クラスはインスタンス化できません.
抽象クラスのメンバーの特徴メンバー変数メンバー変数定数 メンバーメソッドは、抽象メソッドがあっても非抽象メソッドがあってもよい 構造方法( 構造方法がある.
抽象クラスの詳細抽象クラスキーワードabstractはどのキーワードと共存できませんか?1.private:プライベートメソッドサブクラスは継承できないし、上書きも存在しないが、abstractはprivateと一緒に修飾メソッドを使用し、abstractはサブクラスでこのメソッドを実現しなければならないが、private修飾サブクラスは親を得ることができない.互いに矛盾する.2.final:抽象クラスはfinalと共存できない.抽象クラス自体はオブジェクトを作成できないため、サブクラスを通じてオブジェクトを作成する必要がある.抽象クラスがfinalキーワードを使用すると、抽象クラスはサブクラス抽象方法がなくfinalと共存できない.抽象メソッドの後期には布団クラスの書き換えが必要であり、finalを加えると書き換えることができないからだ.static:抽象メソッドはstaticキーワードと共存できない.staticを加えるとクラス名で抽象メソッドに直接アクセスできるからだ.抽象メソッドにはメソッド体がなく、意味がないため、 は許されない.抽象クラスで抽象メソッドを定義しなくてもいいですか?いいですよ.では、この抽象類の存在にはいったい何の意味があるのでしょうか.このクラスにオブジェクトを作成させないで、直接サブクラスに を使用させることができます.抽象クラスには構造関数がありますか?はい、抽象クラスの構造関数は、サブクラスのsuper文によって呼び出され、抽象クラスのメンバーを 初期化するために使用されます.
継承クラスと抽象クラスのまとめ
継承の概要
2つのクラスがextendsキーワードで関係を確立し、一般的にこの関係と呼ばれる双方を親クラスと子クラスと呼ぶ.
継承されたフォーマット
class extends {}
継承の特徴
1.javaでは単一継承のみがサポートされており、1つのサブクラスには1つの親しかいませんが、多層継承が可能で、1人の子供には1人の父親しかいませんが、おじいさん、曽おじいさんなどがいます.JAvaでは複数のサブクラスが1つの親を継承することをサポートし、1人の父親が複数の子供を持っていることに相当します.
継承中のメンバー変数の特徴
継承中のメンバーメソッドの特徴&メソッド書き換え
, ( , , ),
メソッド書き換えの適用シーン&注意事項
,
継承中の構築メソッドの実行順序
, , ,
,
?
,
super:サブクラスで親クラスを呼び出すメソッドまたはメンバー変数this:クラスで独自のメソッドまたはメンバー変数を呼び出す
長所と短所を受け継ぐ.
匿名オブジェクト定義&使用
匿名オブジェクト、すなわち無名オブジェクトnewキーワードを直接使用してオブジェクトを作成
はjavaの修飾子で、メンバー変数、メンバーメソッド、クラスを修飾します.
final : ,
final :
final修飾変数:定数となり、変更されず、abstract
abstractの概要
Javaのキーワードの1つで、クラスと方法を修飾するために使用することができて、abstractに修飾されたクラスを抽象クラスと呼んで、abstractに修飾された方法を抽象方法と言います
,
1.abstractで修飾するクラス2.抽象メソッドは抽象クラスにのみ存在する.クラスには抽象的な方法がなくてもよい.抽象クラスはインスタンス化できません.
, , , , ,
.クラスが抽象クラスを継承する必要がある場合は、親クラスのすべての抽象メソッドを書き換えるか、このサブクラスが抽象クラスでなければなりません.抽象クラスのメンバーの特徴
,
)には、 ,
抽象クラスの詳細
継承クラスと抽象クラスのまとめ