chguevara 2011-11-22 23:51
浏览 303
已采纳

getMethod方法调用疑惑

[size=large]Employee是一个类,getName和raiseSalary是该类中的方法,现在通过Class类的getMethod方法获得获得这两个方法的方法指针,调用如下
Java code
Method m1=Employee.class.getMethod("getName");
Method m2=Employee.class.getMethod("raiseSalary",double.class);

[color=red]请问Employee.class.getMethod的class表示什么,去掉class可以么?[/color]

[/size]

  • 写回答

4条回答 默认 最新

  • yanjinke 2011-11-23 00:19
    关注

    Employee.class.getMethod 通过反射机制来获取 Employee 类中的方法,跟
    [code="java"]
    Employee e = new Employee();
    e.getClass().getMethod
    [/code]
    是一样的效果的

    getMethod是Class中的方法,当然不能去掉class了

    JAVA反射机制是在运行状态中,对于任意一个类,都能够得到这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制.

    概括一下:
    
    反射就是让你可以通过名称来得到对象(类,属性,方法)的技术。
    
    例如我们可以通过类名来生成一个类的实例;
    
    知道了方法名,就可以调用这个方法;知道了属性名就可以访问这个属性的值。
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?