クラスの継承
サブクラスとその定義
継承extends キーワードを使用する Java クラスの数 (推奨学習: java コース )
class SubClass extends SuperClass{ ........ }
サブクラスは親クラスの属性とメソッドを継承できます
サブクラスは継承できませんprivate 修飾子、メソッドを持つプロパティ
サブクラスは構築メソッドを継承できません
単一継承:
Java は単一継承のみをサポートします。クラスから継承でき、extends キーワードの後にはクラス名を 1 つだけ指定できます。
利点: 複数の親クラス間の競合の可能性を回避できます。
インターフェイス インターフェイス メカニズムにより、1 つのクラスで複数のインターフェイスを実装できるようになります
スーパー キーワード
スーパー キーワードは、キーワードが指定されているクラスの親クラスを指します。が見つかります
親クラス参照変数はサブクラス オブジェクトを指すことができます
super.someNethod([paramlist])//调用父类中的someMethod()方法
サブクラス オブジェクトの作成
ステップ:
オブジェクトに必要なすべてのメモリ空間を割り当て、値 0 に初期化します。
継承関係に従って、上から下へ明示的に初期化します。
継承関係に従って、上から下へ明示的に初期化します。 、コンストラクターを上から下に呼び出します。メソッド
サブクラス オブジェクトの初期化の別の式:
基本的な初期化、構築メソッドを実行し、最初に親クラスの構築メソッドを実行します。
execute 親クラスのコンストラクタメソッドの前に、親クラスの明示的な初期化文を実行する必要があります
メソッドの書き換え
(1) メソッドの戻り値の型サブクラスのオーバーライドされたメソッドは、親クラスのオーバーライドされたメソッドと同じである必要があります。記述されたメソッドの戻り値の型は同じです。
(2) サブクラスのオーバーライドされたメソッドのアクセス権縮小することはできません
(3) サブクラスのオーバーライドは新しい例外をスローできません: メソッドのオーバーライド書き込みはオブジェクトの実行時ポリモーフィズムを実現するための基礎です
ポリモーフィズム: コンパイル時ポリモーフィズムと実行時時間多態性。
コンパイル時ポリモーフィズム: オーバーロードなど
実行時ポリモーフィズム: オーバーライドなど
アップストリーム モデリング
ある型のオブジェクトへの参照を別の型のオブジェクトへの参照に変換する
ダウンキャスト (強制的な型変換)
演算子のインスタンス
SomeClass の aOblectVariable インスタンス
aOblectVariable は SomeClass 型です。この式の値は true、それ以外の場合は false
形式
(SomeClass)aObjectVariable
(1) オブジェクト変数変換のターゲット型は、現在のオブジェクト型のサブクラスである必要があります
(2) オブジェクト型は実行時にもチェックされる必要があります
オブジェクト クラス
Java のすべてのクラスは、オブジェクト クラスの直接的または間接的なサブクラスです。
equals クラス: 2 つのオブジェクトの値を比較します。
equals() メソッドをオーバーライドします。目的: オブジェクトの値を定義します。
Java 規則: 2 つのオブジェクトが等しい値 hashCode ( )戻り値は等しい必要があります
したがって、equals() メソッドを書き直し、hashCode() メソッドも書き直します
"== 2 つのアドレスを比較しますオブジェクト
toString() メソッド
オブジェクトの文字列表現を返します
getClass() メソッド
オブジェクトのクラス情報を返します。このメソッドは Class
型のオブジェクトを返します。以上がJava クラスの継承にはどのようなキーワードが使用されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。