【发布时间】:2017-01-11 14:22:50
【问题描述】:
我遇到了一个无法解决的问题,希望有人可以帮助我。本质上,我有一个散列消息和一个签名。为了验证它,我必须使用Signing.verify(hash, signature) 调用另一个类中的方法。该接口也用于其他签名,因此无法更改,禁止静态方法,但 Java 告诉我该方法变为静态或我无法验证它。
我对Java很陌生,但我希望有人可以帮助我。如果问题已经遇到了,很抱歉,但我没有找到任何东西。
您真诚的,感谢您的宝贵时间。
编辑: 抱歉,这有点复杂。该方法在同一个包中,如下所示 - 稍后将对其进行编程:
public class Signature implements SIG{
public boolean verify(String message, String signature){
//deadcode
return true;
}
}
我的代码如下所示:
public class SignatureTree implements Tree{
public boolean verify(String message, String signature, String hash){
byte[] publicKey=extractPK(signature);
if(Signature.verify(message,signature)==false){
System.err.println("SIGNATURE VERIFICATION FAILED");
}
//some other stuff
}
}
但是,Eclipse 告诉我将 Signature 中的 verify 方法更改为静态方法 - 这是接口禁止的。这更清楚了吗?抱歉,我更像是一个 C 程序员。非常感谢你。
【问题讨论】:
-
就像...没有任何代码存在...你认为我们是什么,通灵者???如果方法是非静态的,那么您需要通过类的实例调用它。就你的问题可以回答的这么多!
-
欢迎来到stackoverflow!你的问题目前还很不清楚。你应该在这里阅读如何提出一个好问题:stackoverflow.com/help/how-to-ask
-
请发布示例代码,以便我们为您提供帮助。
-
那么你的界面是什么?
Signing.verify(hash, signature)在您的问题中的作用是什么? (对不起,这是我在你的问题中找到的唯一代码,所以我非常关注它!)Signing是你所说的接口吗?您希望Signing的所有子类都实现verify()?还是要将验证方法放在另一个类中? -
我想将它放在另一个验证多个签名的类中-我在上面添加了一些代码,希望对您有所帮助。对不起!
标签: java interface static-methods