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