修飾子の種類:
-
public: 他のクラスのメソッドを含む、任意のプログラム コードによるクラスのメンバーへのアクセスを許可します。
-
private: クラス自体内のメンバーのアクセスを制限し、他のクラスのメソッドがメンバーに直接アクセスできないようにします。
-
保護: 継承で使用されます。これについては第 8 章で説明します。
-
デフォルトのアクセス: 修飾子が使用されない場合、パッケージが関係する場合を除き、アクセスは public と同じになります。
修飾子の例:
メンバー宣言で public と private を使用する方法の例:
- パブリック文字列 errMsg;
- プライベートアカウント残高 bal;
- private boolean isError(byte status) { // ... }
実践的なデモンストレーション:
クラス内のアクセス制御:
- MyClass の alpha などのプライベート メンバーには、クラス自体のメソッドからのみアクセスできます。
- アクセサー メソッド (getAlpha() および setAlpha()) を介したパブリック メソッドによるプライベート メンバーへのアクセス。
- 別のクラスのプライベート メンバーに直接アクセスしようとすると、コンパイル エラーが発生します。
class MyClass {
private int alpha; // acesso privado
public int beta; // acesso público
int gamma; // acesso padrão (equivalente a public neste contexto)
// Métodos para acessar alpha
void setAlpha(int a) {
alpha = a;
}
int getAlpha() {
return alpha;
}
}
ログイン後にコピー
使用例: AccessDemo.java クラス
結果:
- プライベート メンバー alpha へのアクセスは、パブリック メソッド setAlpha() および getAlpha() を介してのみ実行できます。
- MyClass クラス外の alpha への直接アクセスは禁止されており、コンパイル エラーが発生します。
例: FailSoftArray:
- 「耐障害性」配列を実装します。配列はプライベート メンバーとしてカプセル化され、パブリック メソッドによってのみアクセスされます。
-
カプセル化: 配列を範囲外のアクセスから保護し、実行時例外を防ぎます。
-
プライベートメンバー: a、errval、indexOK() はプライベートであり、配列の整合性を保護します。
- パブリック メンバー: 長さはパブリックであり、Java の標準配列の実装と同様に、配列サイズをクエリできます。
-
パブリック メソッド: put() と get() は、配列への値の格納と取得に使用され、アクセスを安全に制御します。
結論:
アクセス制御は、オブジェクト指向プログラミングを成功させるために重要であり、特に継承を扱い、データの整合性を確保する場合に重要です。
結果:
「耐障害性」配列により、範囲外のインデックスにアクセスしようとしたときの実行時エラーが防止されます。
配列要素へのアクセスは、パブリック メソッド get() および put() を介して安全に行われ、制限チェックが行われます。
プログラムはサイレント障害を表示し、インデックスが範囲外になった場合に障害を明示的に処理します。
これらの例は、Java アクセス修飾子 (パブリック、プライベート、デフォルト アクセス) を適用してクラスのメンバーへのアクセスを制御し、データの整合性とセキュリティを確保する方法を示しています。
以上がJava 言語のアクセス修飾子の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。