-2

我只需要获取在我的子类中被覆盖的方法,而不是那些来自父类的方法。

例如:

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;
            }//<----
4

1 回答 1

0

你应该试试

class.getMethod("myMethod").getDeclaringClass();
于 2013-06-10T13:29:09.743 回答