chanceqw(★★★★★) :ClassLoader写个会不会太复杂了,不懂啊,能不能给个HELLOWORLD 我后来试了下动态代理,对所有的调用函数在invoke中进行处理, 比如javabean: public class AAA implements A { private AAA() { } public static A getInstance() { A t = new AAA(); InvocationHandler handler = new SetHandler(t); A proxy = (A) Proxy.newProxyInstance(t.getClass().getClassLoader(), t .getClass().getInterfaces(), handler); return proxy; } public void getName() { }}但这样的话好像只能返回一个接口,而这个接口不能cast成AAA,所以根本不能调用getName(),当然,这个方法在A中没有定义. A proxy = (A) Proxy.newProxyInstance(t.getClass().getClassLoader(), t .getClass().getInterfaces(), handler); 这句中只能用接口来cast.不熟悉动态代理,这样的话,局限性不是很大?
我后来试了下动态代理,对所有的调用函数在invoke中进行处理, 比如javabean:
public class AAA implements A {
private AAA() {
}
public static A getInstance() {
A t = new AAA();
InvocationHandler handler = new SetHandler(t);
A proxy = (A) Proxy.newProxyInstance(t.getClass().getClassLoader(), t
.getClass().getInterfaces(), handler);
return proxy;
}
public void getName() {
}}但这样的话好像只能返回一个接口,而这个接口不能cast成AAA,所以根本不能调用getName(),当然,这个方法在A中没有定义.
A proxy = (A) Proxy.newProxyInstance(t.getClass().getClassLoader(), t
.getClass().getInterfaces(), handler);
这句中只能用接口来cast.不熟悉动态代理,这样的话,局限性不是很大?