java 反射动态代理相关的问题
王能 2018-03-07 05:05:17 大致代码如下,要求是:在不动View类的情况下,修改掉getData的返回值,不限制手段
public static void main(String[] args) {
View a = new View();//很多地方都用到
int i = a.getData();//很多地方都用到
//各位大神,怎么用反射或其他方法来修改这个返回值
}
public class View {//系统api,很多代码都有用到
public int getData() {
return Utils.staticUtils.getData();//View类和Utils类同一包下
}
}
public class Utils {//系统api,没有父类
static Utils staticUtils = new Utils();//单例
private Utils2 mUtils2 = new Utils2();//私有
int getData() {
return mUtils2.getData();
}
}
public final class Utils2 {//系统api,已经是final了,没有父类
public int getData() {
return 1;
}
}