函数的签名(方法签名)是用来定义一个函数传入参数的类型,顺序和数量的,函数签名经常被用在函数重载,因为调用重载的方法从名字上
是无法确定你调用的是哪一个方法,而要从你传入的参数和该函数的签名来进行匹配,这样才可以确定你调用的是哪一个函数。
例如在Java当中,main(String[] args)方法如下
public static void main(String[] args){}
在拆解的字节码当中,签名的形式是
Lsome/package/Main/main:([Ljava/lang/String;)V
另外main方法还包括三个修饰符
- public 表明该方法可以在任何地方被调用。
- static表明该方法是一个类方法。
- void 表明该方法没有返回值。
也就是说函数的签名包含一个函数的一些常见的信息,比如说函数的名字,范围,参数列表,很多的编程语言用名称修饰传入更多的
信息从编译器到连接器。在面向对象的编程语言中,一个方法通常就是用方法签名来标记其唯一性,比如方法名称,
参数类型和数量,已经顺序。
一个方法的签名就是这个方法的最小的类型。
注意:参数的名字不会作为签名的一部分,因为参数的名字会被编译器忽略。