Java 関数のオーバーロードを使用すると、シグネチャは異なるが同じ名前を持つ関数を作成できます。可視性は、プライベート、パッケージ レベルのプライベート、プロテクト、パブリックをサポートするアクセス制御レベルによって制御されます。たとえば、calculateArea() 関数をオーバーロードして、circle または square 引数を受け入れ、アクセス制御レベルに応じてさまざまな場所からアクセスできます。
Java 関数のオーバーロードのアクセス制御レベル
Java での関数のオーバーロードを使用すると、同じ名前で異なる複数の関数を定義できます。署名機能。これらの関数は、異なるパラメーターの型、パラメーターの数、戻り値の型を持つことができます。関数のオーバーロードでは、アクセス制御レベルによって、さまざまなパッケージおよびクラスに対するオーバーロードされたメソッドのさまざまなバージョンの可視性が決まります。
Java 関数のオーバーロードによってサポートされるアクセス制御レベル
Java 言語は、次のアクセス制御レベルをサポートします:
- private ) : 定義されているクラス内からのみアクセスできます。
- Package-private (package-private): それらを含むパッケージ内のクラスからのみアクセスできます。
- Protected: クラスと、それらを含むパッケージ内の派生クラスからのみアクセスできます。
- Public (public): どのクラスからもアクセスできます。
実用的なケース
オーバーロードされた calculateArea()
関数が形状 (円または円) に基づいて値を受け入れる次の例を考えてみましょう。 square) 異なるパラメーター:
public class ShapeCalculator { public double calculateArea(Circle circle) { return Math.PI * circle.getRadius() * circle.getRadius(); } public double calculateArea(Square square) { return square.getWidth() * square.getWidth(); } }
この例では、calculateArea()
関数の 2 つのバージョンを宣言します:
-
calculateArea(Circle Circle )
円形のオブジェクトをパラメータとして受け取り、その円の面積を返します。 -
calculateArea(Square square)
正方形のオブジェクトをパラメータとして受け取り、その正方形の面積を返します。
calculateArea()
関数の両方のバージョンは、public
として宣言されているため、どのクラスからでもアクセスできます。したがって、これらの関数は次のいずれかの場所で使用できます。
- 同じパッケージ内のクラス
- 別のパッケージ内のクラス
- メイン メソッドから
アクセス制御レベルは、オーバーロードされたメソッドのさまざまなバージョンをオーバーライドしたり書き換えたりする場合にも重要であることに注意してください。たとえば、サブクラスでは、同じまたはより幅広いアクセス制御レベルを持つ親クラスのメソッドのみをオーバーライドできます。
以上がJava 関数オーバーロード メカニズムでサポートされるメソッド アクセス制御レベルは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

Dreamweaver Mac版
ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
