Ich habe ein Problem, ich kann nicht meinen Kopf wickeln, und hoffe, jemand kann mir helfen. Im Wesentlichen habe ich eine Hash-Nachricht und eine Signatur. Um es zu überprüfen, muss ich eine Methode in einer anderen Klasse mit Signing.verify(hash, signature)
aufrufen. Die Schnittstelle, die auch für andere Signaturen verwendet wird, daher kann sie nicht geändert werden, verbietet statische Methoden, aber Java sagt mir entweder, dass die Methode statisch wird oder ich kann sie nicht verifizieren. Ich bin ziemlich neu in Java, aber ich hoffe, dass mir jemand helfen kann. Wenn das Problem bereits aufgetreten ist, tut es mir leid, aber ich habe nichts gefunden. Mit freundlichen Grüßen, und vielen Dank für Ihre Zeit.Java-Schnittstelle-statische Methode Anruf
EDIT: Sorry-das ist irgendwie kompliziert. Das Verfahren, das in der gleichen Verpackung, sieht aus wie this- und wird später programmiert werden:
public class Signature implements SIG{
public boolean verify(String message, String signature){
//deadcode
return true;
}
}
Mein Code sieht wie folgt aus:
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
}
}
jedoch Eclipse sagt mir Methode die überprüfen ändern in Signature zu einer statischen Methode - die von der Schnittstelle verboten ist. Ist das klarer? Tut mir leid, ich bin eher ein C-Programmierer. Vielen Dank.
Wie ... ohne Code vorhanden ... Was denkst du sind wir, Hellseher ??? Wenn eine Methode nicht statisch ist, müssen Sie sie über eine Instanz der Klasse aufrufen. Das ist soweit Ihre Frage beantwortet werden kann! –
Willkommen bei stackoverflow! Ihre Frage ist derzeit ziemlich unklar. Sie sollten hier nachlesen, wie Sie eine gute Frage stellen können: http://stackoverflow.com/help/how-to-ask –
Bitte senden Sie einen Beispielcode, damit wir Ihnen helfen können. – Aradhna