Java中的方法签名是什么?

方法签名由方法名称和参数列表组成。

例子

public class MethodSignature {
   public int add(int a, int b){
      int c = a+b;
      return c;
   }
   public static void main(String args[]){
      MethodSignature obj = new MethodSignature();
      int result = obj.add(11, 22);
      System.out.println(result);
   }
}

运行结果:

33

方法签名不包括方法的返回类型。一个类不能有两个具有相同签名的方法。如果试图声明两个具有相同签名的方法,会得到一个编译时错误。

public class MethodSignature {
   public int add(int a, int b){
      int c = a+b;
      return c;
   }
   public double add(int a, int b){
      double c = a+b;
      return c;
   }
   public static void main(String args[]){
      MethodSignature obj = new MethodSignature();
      int result = obj.add(11, 22);
      System.out.println(result);
   }
}

编译得到以下错误提示:

C:\\Sample>javac MethodSignature.java
MethodSignature.java:5: error: method add(int,int) is already defined in class MethodSignature
public double add(int a, int b){
              ^
1 error