私はちょうど考えていて、疑問に思いました: アクセス制御は事故に対する保護を提供することのみを目的としており、詐欺に対する保護を提供することを意図していないため、Java の隠し変数の値にアクセスできるかどうか疑問に思っていました。
たとえば、
public Cat {
public int numberOfLegs = 4;
private int numberOfWhiskers = 42;
}
このクラスの外から numberOfWhiskers の値を見つけることは可能ですか?
編集:リンクのスレッドを読みましたが、 SetAccesible() を使用すると、名前を知っているプライベートフィールドの値を取得できることがわかります。名前がわからないフィールドの値を見つけることができますか?
注: これは、C++ などの一部の言語で実行できます。たとえば、クラス内のフィールド間で反復するポインターを使用します。