2016-04-28 10 views
0

Ich gehe über einen Code und ich füge einige Schnittstellen hinzu, damit ich sicherstellen kann, dass alle Klassen denselben grundlegenden Richtlinien folgen.
Jetzt habe ich eine Schnittstelle namens Uni < T> die genau ein generisches Argument nimmt.
Angenommen, ich habe eine Klasse, die Uni implementiert < Foo> dann möchte ich, dass diese Klasse diese Methode hat public foo getFoo(){};
Gibt es eine Möglichkeit, diese Methode der Schnittstelle hinzuzufügen? Ich würde es vorziehen, wenn ich etwas in meiner Schnittstelle public T getT(); tun könnte und das zweite T wird durch das generische Argument ersetzt.Benennen von Methoden zu generischen Argumenten

Ich kann es nicht einfach "get" nennen, weil ich möchte, dass einige Klassen mehrere Versionen von Uni implementieren. public Example implements Uni<Foo1>,Uni<Foo2>

Ich weiß, ich kann die Funktion geben 'ein Argument Foo oder Klasse bekommen, aber ich würde lieber nicht so dachte ich, ich würde hier fragen. (Ich würde auch die Namensgebung Konvektion durcheinander bringen, wenn ich das tat)

+0

* "Ich möchte einige Klassen implementieren mehrere Versionen von Uni" * Das ist sowieso unmöglich. – Radiodef

Antwort

1

Nein, nicht möglich. Und da Generika in Java durch Löschen implementiert werden (d. H. Vom Compiler gelöscht), können Sie auch nicht mehrere Versionen in einer einzigen Klasse implementieren.

0

es nicht möglich mit Java, aber Sie können es wie diese machen

public interface example<T> { 
    public void yourmethod(T object); 
} 

tun, um die Schnittstelle nach gattungs Sie wollen.

Verwandte Themen