ホームページ  >  記事  >  Java  >  この記事では、Java のクラス継承とポリモーフィズムについて詳しく理解できます。

この記事では、Java のクラス継承とポリモーフィズムについて詳しく理解できます。

王林
王林転載
2019-11-26 10:56:502224ブラウズ

この記事では、Java のクラス継承とポリモーフィズムについて詳しく理解できます。

#クラスの継承

##サブクラスとその定義 サブクラスの定義ではキーワード 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

、式の値は true、それ以外の場合は false

Format

(SomeClass)aObjectVariable
(1) オブジェクト変数変換のターゲット タイプは、現在のオブジェクトのサブクラスである必要があります。オブジェクト タイプ

(2) オブジェクト タイプのチェックは実行時にも実行する必要があります

オブジェクト クラス

のすべてのクラスjava は、Object クラスの直接的または間接的なサブクラスです。 equals クラス: 2 つのオブジェクトの値を比較します。

equals() メソッドをオーバーライドします。目的: オブジェクトの値を定義します。

Java規制: 2 値が等しいオブジェクトの hashCode() の戻り値は等しい必要があるため、「==」を使用して 2 つのオブジェクトのアドレスを比較して、equals() メソッドと hashCode() メソッドもオーバーライドします。 。

toString() メソッド

オブジェクトの文字列表現を返します。

getClass() メソッド

オブジェクトのクラス情報を返します。このメソッドは、Class 型のオブジェクトを返します。

おすすめの関連記事とチュートリアル: java エントリー プログラム

以上がこの記事では、Java のクラス継承とポリモーフィズムについて詳しく理解できます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。