Итак, у меня есть класс с 2 определенными c методами. Когда я вызываю getDeclaredMethods, тогда l oop поверх результатов, печатаются имена, оба корректно отображаются. Так что не только метод существует, но и вызов рефлексии находит его.
Но когда я пытаюсь вызвать метод, как показано в коде ниже, я получаю NoSuchMethodException. Так почему же он не может найти его при вызове?
public class Foo
{
public byte[] read_status(Object arg)
{
byte[] test = new byte[10];
for(int i = 0; i < 10; i++)
{
test[i] = (byte)i;
}
return test;
}
public int test(String s) throws Exception
{
Object r = this.getClass().getDeclaredMethod("read_status").invoke(this, (Object)s);
byte[] bytes = (bytes[])r;
for(int i = 0; i < bytes.length; i++)
{
System.out.println(""+bytes[i]);
}
return 0;
}
}