方法签名由方法名称和参数列表(方法参数的顺序和类型)组成。
请注意,方法签名不包括方法的返回类型。不包括返回值和访问修饰符。
我没有看到所谓的签名自我验证。我认为您应该参考带有证书的数字签名,然后使用证书来验证签名。
事实上,这是一种签名格式。它叫p7。它包括长度、算法、明文、签名字符串和证书公钥。收到证书后,可以使用证书自动进行验证。有许多这样的算法。你可以找到它。很容易找到。
这种签名的关键是证书也需要验证。一般情况下,双方都有颁发ca的公钥来验证证书的有效性。也有很多。
多态性分为编译时多态性和运行时多态性。
1.编译时多态性,其实是方法重载,函数名相同,但签名不一样。值得注意的是,签名不包括方法的返回值。换句话说,这两个方法的函数名和输入参数是相同的,但返回值不同。编译器返回错误。
2.运行时多态性实际上与继承和接口实现有关。子类可以重写父类的非最终、非静态、非私有方法或实现接口方法。jvm如何知道要调用哪个子类实例的对应方法?这就是你问的问题。在java中,对象在jvm中有描述元数据。对象头存储当前实例的类型信息。在调用时,jvm可以根据这个类型准确地找出要使用的子类方法。