javaでprivateをネイティブ的に使用するには
Javaでは「private」は、クラス内のメンバのアクセス範囲を制限するアクセス修飾子です。メンバが「private」として宣言されている場合、そのメンバは現在のクラス内のみでアクセス可能で、他のクラスから直接アクセスすることはできません。
プライベート利用のよくあるケースと使い方例を以下にご紹介します。
- クラスメンバ変数のカプセル化:一般的にクラスメンバ変数を private で宣言し、それらのメンバ変数へのアクセスおよび変更のために公開された getter と setter メソッドを提供する。
public class MyClass {
private int myVar;
public int getMyVar() {
return myVar;
}
public void setMyVar(int myVar) {
this.myVar = myVar;
}
}
- アクセスを制限する方法: クラスのメソッドをプライベートに宣言すると、そのメソッドにはそのクラス内のメソッドからのみアクセスできることを確認できます。
public class MyClass {
private void privateMethod() {
// 只能在类的内部调用
}
public void publicMethod() {
// 所有类都可以调用
}
}
- 継承の禁止:クラスをプライベートに宣言することで、他のクラスによる継承を阻止します。
private class MyClass {
// 类的定义
}
privateはメンバーへの直接アクセス権を制限するのみで、リフレクションなどにより制限を迂回する手段がないわけではない点に注意が必要である。そのため、privateはクラスの封じ込め性を高める側面はあるものの、その他の手段によるアクセス制限の回避には注意を要する。