问答详情
源自:3-3 动态代理实现添加 InvocationHandler

很多地方值得思考

“Method md =” + infce.getName() + ".class.getMethod(\"" + m.getName() + "\");"这一串是什么意思?是不是先拿到Moveable的类类型再通过move()方法...为什么我要改成infce.getSimpleName()才能运行成功?

提问者:Lovecanon 2015-01-27 18:47

个回答

  • David
    2015-01-28 22:05:04
    已采纳

    1、这句话的意思是通过方法的反射,得到Moveable类的某个方法;

    2、根据API中的定义,Class.getSimpleName()方法是获取源代码中给出的‘底层类’简称 (Moveable)

    而Class.getName();以String的形式,返回Class对象的‘实体’名称 (com.imooc.proxy.Moveable)