why the method with int parameter is considered for numerical value?
<pre><code>class Test {
  void m1(byte b) {
    System.out.print("byte");
  }

  void m1(short s) {
     System.out.print("short");
  }

  void m1(int i) {
     System.out.print("int");
  }

  void m1(long l) {
     System.out.print("long");
  }

  public static void main(String [] args) {
    Test test = new Test();
    test.m1(2);
  }
}
</code></pre>

<p>The output is : int. why does jvm consider the method with int parameter?</p>
