http://java.sun.com/developer/technicalArticles/JavaLP/Interposing/を参照してください。
そして、次の説明。
クラスのロード時に、挿入されたクラスは元のクラスの前に見つかる必要があります...挿入されたクラスは、元のクラスと同じ完全な名前を持つ必要があります。たとえば、クラス Foo がパッケージ pub.foo に存在し、パッケージ pub.bar からクラス Bar のインスタンスを作成する場合があります。ファイル Bar.java を別のディレクトリ (fake/pub/bar など) に作成し、クラスパスの前に /fake を追加すると、JVM はオリジナルではなくクラス pub.bar.Bar の定義を確実にロードします。このようにして、Bar のメソッドの定義をオリジナルの上に差し込むことができます。
次の例では、Bar.java がインターフェースであり、そのオブジェクトが挿入されます。
上記の引用でSunが説明しているユースケースが理解できません。具体的な疑問: 1. 言及されている元のクラスはどれですか? 2.どのような場合に、独自のfake/pub.bar.Barが必要で、元のものを使用しない必要がありますか(元の意味を正しく解釈した場合)。可能であれば、例を挙げて説明してください。
ありがとうございます