ホームページ >Java >&#&チュートリアル >Java でのさまざまな名前の再利用手法

Java でのさまざまな名前の再利用手法

PHPz
PHPz転載
2023-08-28 14:49:061406ブラウズ

Java でのさまざまな名前の再利用手法

Java では、変数、メソッド、データ型、パッケージなどのさまざまなタイプのエンティティに対してさまざまな名前を再利用する手法があります。これらのテクノロジーは、エンティティのニーズと使用状況に基づいて、エンティティのアクセシビリティと動作に影響を与えます。この記事では、Java で名前を再利用する 4 つの一般的な方法 (オーバーライド、非表示、オーバーロード、マスキング) について説明します。

Java の名前再利用テクノロジー

###影の多い###

この手法を使用すると、ローカル変数に、それを囲んでいるクラスの別のフィールドまたはメンバーと同じ名前を付けることができます。この場合、メンバーの以前の実装は、新しい変数の宣言によって隠蔽されます。非表示変数には、非表示スコープ内の単純な名前ではアクセスできません。

シャドウの例

次の例は変数の陰影を示しています

リーリー ###出力### リーリー

上記のコードでは、メソッド「printX()」内のインスタンス変数「val1」を非表示にしています。 「val1」にアクセスするには、「this」キーワードを使用します。

###隠れる###

この手法を使用すると、サブクラスでそのスーパークラスで定義された静的メソッドまたはフィールドを非表示にすることができます。 サブクラス エンティティは、スーパークラス エンティティと同じ名前と署名を持つ必要があります。ほとんど 私たちの中には、隠すことは大変なことだと誤解している人もいます。メソッドのオーバーライドでは、サブクラスが置き換えられます 元のメソッドを新しいメソッドで実装しますが、非表示では単に非表示にするだけです。 超一流メソッド。また、静的メソッドをオーバーライドすることはできません。

例を非表示

次の例は、メソッドの隠蔽を示しています。

リーリー ###出力### リーリー

上記のコードでは、「スーパー」クラス、「サブ」クラス、および「print()」を定義しています。 方法。 「Sub」クラスの「print()」メソッドは「Super」クラスのメソッドを隠します。 「s2.print」の場合 サブクラスの内容を出力します。その後、この例が考慮されます 非表示ではなくメソッドとしてオーバーライドされます。

メソッドのオーバーロード

同じ名前で異なるリストを持つ 2 つ以上のメソッドを作成する場合 次に、パラメーターが同じクラス本体内にある場合、それをメソッドのオーバーロードと呼びます。翻訳者 パラメータの型に基づいてコンパイル時のメソッド呼び出しを決定する

メソッドのオーバーロードの例

この例は、メソッドのオーバーロードの実装を示しています。

リーリー ###出力### リーリー

上記のコードでは、名前は同じですがパラメーターが異なる 2 つのメソッドを定義しています。通話中にさまざまな引数を使用しました。

メソッドのオーバーライド

スーパークラスとサブクラス内に同じ名前と同じパラメータリストを持つ複数のメソッドを作成することを、メソッドのオーバーライドと呼びます。メソッドの戻り値の型も同じです。

メソッド書き換えの例

次の例は、メソッドのオーバーライドを示しています。

リーリー ###出力### リーリー

上記のコードでは、サブクラス「Ovriid2」がスーパークラスの「methodA()」をオーバーライドします。

###結論は###

この記事では、メソッドのオーバーロード、非表示、非表示、メソッドのオーバーライドなど、変数名とメソッド名を再利用するためのさまざまなテクニックについて学びました。また、それらを Java プログラムに実際に実装する方法についても説明しました。

以上がJava でのさまざまな名前の再利用手法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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