我在jar文件中有一个单例类。我们以下面的课程为例。
class Singleton{
private static Singleton instance;
private Singleton(){}
public static Singleton getInstance(){
if(instance == null)
instance = new Singleton();
return instance;
}
public int addTwoNumbers(int num1, int num2){
return num1+num2;
}
现在我想知道每当触发addTwoNumbers方法时,以及传递给它的参数。覆盖该方法不是一种选择,因为它是一个单例。此外,由于它在jar文件中,我无法修改它。因此,使用观察者模式也不是一种选择。我有什么方法可以做到这一点吗?
感谢。
答案 0 :(得分:0)
自己重新实现单例类,并为其添加观察者功能。使用完全相同的包,类和方法名称,并确保包含新单例的jar /目录位于类路径中包含旧单例的jar /目录之前。
或者修改现有单例的字节码。