検索
ホームページJava&#&チュートリアルJava 関数オーバーロード メカニズムでサポートされるメソッド アクセス制御レベルは何ですか?

Java 関数のオーバーロードを使用すると、シグネチャは異なるが同じ名前を持つ関数を作成できます。可視性は、プライベート、パッケージ レベルのプライベート、プロテクト、パブリックをサポートするアクセス制御レベルによって制御されます。たとえば、calculateArea() 関数をオーバーロードして、circle または square 引数を受け入れ、アクセス制御レベルに応じてさまざまな場所からアクセスできます。

Java 函数重载机制支持的方法访问控制级别有哪些?

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 サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

SublimeText3 英語版

SublimeText3 英語版

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 Mac版

SublimeText3 Mac版

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

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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