Ich habe eine Schnittstelle:Passing Interface-Klasse als Parameter in Java
public interface IMech {
}
und eine Klasse, die es
public class Email implements IMech {
}
und eine dritte Klasse implementiert, die diese Methode implementiert hat:
public void sendNotification(Class<IMech> mechanism){
}
jetzt versuche ich, diese Methode so zu nennen
foo.sendNotification(Email.class);
, aber ich erhalte eine Ausnahme zu sagen:
The method sendNotification(Class<IMech>) in the type RemediationOperator is not applicable for the arguments (Class<Email>)
Sollte das nicht funktionieren, wenn es diese Klasse Schnittstellen?
Was ist die EmailNotification Klasse und was implementiert oder erweitert sie? –
Wollen Sie wirklich die Klasse Objekt zu übergeben, nicht eine Instanz einer Klasse, die die IMech Schnittstelle implementiert? Das könnte sicher sein, was Sie wollen, aber ich kann aus den Angaben nicht sagen, Sie zur Verfügung gestellt, ob es absichtlich oder ein Design-Fehler. –
Sorry, ich auf einige Klassennamen verkürzt hatte ... ist EmailNotification die E-Mail-Klasse – aleclerc