public class OverMethodDemo {
public void method(short a ){
System.out.println("参数是short类型的");
}
public void method(byte a){
System.out.println("参数是byte类型的");
}
public void method(long a){
System.out.println("参数是long类型的");
}
public void method(int a ){
System.out.println("参数是int类型的");
}
public void method(Integer a ){
System.out.println("参数是Integer类型的");
}
public static void main(String []args){
new OverMethodDemo().method(1);
}
}

解决方案 »

  1.   

    编译器命名函数的时候,会根据函数名,参数类型进行命名。
    简单的举个例子,
    public void method(byte a):命名为method_byte
    public void method(long a):命名为method_long
    编译器命名很多时候不会像上面这么简单直接,例如 VS 的编译器与 GCC 的编译器对函数的命名规则不一样,但规则里就是要用到函数名与参数类型。
      

  2.   

    方法名和参数类型http://docs.oracle.com/javase/tutorial/java/javaOO/methods.html