请参考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 而不是使用原始的(以防我正确解释了原始的含义)。如果可能,请举例说明。
预先感谢