Javaオブジェクト指向04(継承)

継承

統合の本質は、クラスの特定のバッチを抽象化して、現実世界のより良いモデリングを実現することです。

拡張は「拡張」を意味します。子クラスは親クラスの拡張です。

JAVAのクラスには、単一の継承のみがあり、多重継承はありません。

継承は、クラスとクラスの間の関係です。さらに、クラスとクラスの間の関係には、依存関係、組み合わせ、集計などがあります。
継承関係の2つのクラス。1つはサブクラス(9つの派生クラス)で、もう1つは親クラス(基本クラス)です。子クラスは親クラスを継承し、キーワードextendsで表されます。
ある意味で、子クラスと親クラスの間には「isa」の関係があるはずです。

キーポイント:

オブジェクトクラス
スーパー-この
メソッドのオーバーライド

JavaのすべてのクラスはデフォルトでObjectクラスsuperを継承ます
ここに画像の説明を挿入

親クラスの構築メソッドまたは変数を
呼び出す親クラスの変数を呼び出すコード例の
ここに画像の説明を挿入
出力例
ここに画像の説明を挿入
親クラスの構築メソッドのコード例を呼び出す
ここに画像の説明を挿入
出力例
ここに画像の説明を挿入
サブクラスのパラメータなしの構築が呼び出されると、親のパラメータなしの構築が最初に呼び出されます

コードサンプル
ここに画像の説明を挿入出力例
ここに画像の説明を挿入

サブクラスのパラメーター化された構造体を呼び出す場合、親クラスのパラメーターなしの構造体が最初に呼び出されます。コード例:
ここに画像の説明を挿入
出力例
ここに画像の説明を挿入

公立学生の実際のコードは

public Student() {
        super();//隐藏代码,调用了父类无参构造器,且必须要在子类构造器的第一行
        System.out.println("子类无参构造器被调用了" );
    }

スーパーアテンションポイント
1.スーパーは親クラスのコンストラクター(パラメーターなしコンストラクターまたはパラメーターコンストラクター)を呼び出します。これはコンストラクターの最初である必要があります
2.スーパーはサブクラスのメソッドまたは構築メソッドにのみ表示される必要があり
ます3.スーパーおよびこれは呼び出しできません同時にコンストラクター

これに対して

表現されるオブジェクトは異なります:
this:呼び出し元のオブジェクト
super:親クラスオブジェクトの参照
前提
this:
supeは継承なしで使用できます
構築メソッド
this()は継承条件下でのみ使用できます; thisの構築class
super();親クラスの構造

メソッド書き換え
静的メソッドコード例の
ここに画像の説明を挿入
出力例:
ここに画像の説明を挿入

非静的メソッドのコード例:
ここに画像の説明を挿入
出力例の
ここに画像の説明を挿入
概要:
静的メソッドはクラスのメソッド、非静的メソッドはオブジェクトの
書き換えメソッド:継承関係が必要、サブクラスは親クラスのメソッド
1を書き換えます。メソッド名は次のようになります。同じ
2.パラメータリストは同じである必要があり
ます3.修飾子:スコープを拡大できます:public> Protected> Default> private
4.スローされる例外:スコープを縮小できますが、拡大できません

書き直す必要がある理由:
1。親クラスの機能、サブクラスは必ずしもそれを必要としない、または必ずしも
ショートカットキーを満たさない
ALT + INSERT:select override

おすすめ

転載: blog.csdn.net/qq_51224492/article/details/113795348