ホームページ > Java > &#&チュートリアル > Java における public アクセス修飾子と protected アクセス修飾子の違い

Java における public アクセス修飾子と protected アクセス修飾子の違い

WBOY
リリース: 2023-09-17 20:49:02
転載
870 人が閲覧しました

Java における public アクセス修飾子と protected アクセス修飾子の違い

public アクセス修飾子と protected アクセス修飾子は、クラスまたはメソッドのメンバーにアクセスする方法を決定します。修飾子は、宣言時にメンバーに付加されます。これらのアクセス修飾子が、カプセル化、ポリモーフィズム、継承などの Java oops の概念で重要な役割を果たしていることがわかっています。メンバーシップが提供する機能の悪用を防ぐのに役立ちます。サンプル プログラムを使用して、Java の public アクセス修飾子と protected アクセス修飾子を理解していきます。

Java のアクセス修飾子

パブリックアクセス修飾子

Java はパブリック メンバーのアクセシビリティを制限しません。 public として宣言されたものはどこからでもアクセスできます。つまり、クラス内、クラス外、パッケージ内、パッケージ外でそれらにアクセスできます。 Java の main() メソッドは常にパブリック メソッドとして定義されているため、現在のプログラムの範囲外の JVM から呼び出すことができることに気づいたかもしれません。

パブリックアクセス修飾子の例 -

リーリー

ここでは、変数は public として宣言されています。

###例###

次の例は、パッケージ メンバーが Java でどのように機能するかを示しています。

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

上記のコードでは、「Pack」クラスは「ClassShow」の親クラスです。親クラスでは、単純なメッセージを出力するために「prnt()」というパブリック メソッドを宣言しました。サブクラスのmain()メソッドでは、パブリックメソッド「prnt()」を呼び出すサブクラス「ClassShow」のオブジェクトを定義しています。ここでは、サブクラスもパブリックです。

保護されたアクセス修飾子

主に継承の場合に、親クラスのメンバーと対応するサブクラスのメンバーへのアクセスを制御するために使用されます。現在のパッケージの外部の要素へのアクセスは許可されますが、アクセスできるのはクラスの直接のサブクラスのみです。ここで、パッケージとはクラスのセットを保持するコンテナです。

保護されたアクセス修飾子の例 -

リーリー

ここでは、変数は保護されていると宣言されています。 ###例### 次の例は、Java での保護されたメソッドの使用を示しています。

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

上記のコードでは、「Pack」クラスは「ClassShow」の親クラスです。親クラスでは、単純なメッセージを出力する「prnt()」という保護されたメソッドを宣言します。サブクラスの main() メソッドでは、保護されたメソッド 'prnt()' を呼び出すためにサブクラス 'ClassShow' のオブジェクトを定義します。

パブリックおよび保護されたアクセス修飾子

上記の説明から、パブリック アクセス修飾子とプライベート アクセス修飾子の次の違いを導き出すことができます -

######公共######

保護された

メンバーがパブリックであることを指定するには、キーワード「public」を使用する必要があります。 「protected」キーワードを使用して、メンバーが保護されていることを指定します。 任意のクラスをパブリック クラスとして定義できます。 クラスを保護されたものとして定義できません。 パブリック メンバーには、パッケージ内外の任意のクラスからアクセスできます。 保護されたメンバーには、パッケージ内だけでなく、他のパッケージからもアクセスできます。ただし、他のパッケージの場合は、継承されたクラスによってのみアクセスできます。 トップレベルとメンバーの両方に適用されます。 メンバーシップ レベルでのみ利用可能です。 ###結論は### 最初に public アクセス修飾子と protected アクセス修飾子を定義し、次のセクションでそれぞれの例を使用して詳細に説明しました。最後に、それらの違いについていくつか説明します。

以上がJava における public アクセス修飾子と protected アクセス修飾子の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート