使用反射获得重写方法

时间:2013-06-10 13:24:18

标签: java reflection

我只需要获取在我的子类中重写的方法,而不是父类的方法。

例如:

class Foo { 
    public void doStuff(){

    }

    public void doStuff2(){

    }
}

class Bar extends Foo{
    public void doStuff(){

    }
    public void subDoStuff(){

    }
}

我希望反思仅显示doStuff()subDoStuff()。目前我正在使用代码

for (Method m : mClass.getDeclaredMethods()) {
                m.getName();
        }

但它列出了所有方法。

解决了!代码是正确的。我只是忘了括号,傻傻的虫子,花了我一个小时才找到。

if (m.getName().equals("onBackPressed"))  {//<- 
            System.out.println("ethod: " + m.getName());
            return true;
            }//<----

1 个答案:

答案 0 :(得分:0)

你应该试试

class.getMethod("myMethod").getDeclaringClass();