title: How to call method without parameter in java reflection
body: <p>I wrote the following code with java reflection. In this code I call method1() which has a parameter and the code run without error. It's OK. But how can I call method2() and method3() which do not have parameters? How to call method without parameter in java reflection? Does Java support such feature?</p>
  
  <pre><code>import java.lang.reflect.Method;
  
  class MethodCallTest {
    public static void main(String[] args) {
      MethodCallTest mct = new MethodCallTest();
      mct.start();
    }
  
    private void start(){
      try{
          Class&lt;?&gt; c = getClass();
            Method m1 = c.getDeclaredMethod("method1", String.class);
            m1.invoke(this, "method1");
      }catch(Exception e){
        e.printStackTrace();
      }
    }
  
    private void method1(String s){
      System.out.println("Hello from " + s);
    }
  
    private static void method2(){
      System.out.println("Hello from method2");
    }
  
    private static void method3(){
      System.out.println("Hello from method3");
    }
  
  }
  </code></pre>