Gerade jetzt, ich versuche, eine Instanz einer generischen Klasse BTree<T>
zu schaffen, die SSet<T>
eine Schnittstelle implementiert, die wiederum implementiert Iterable<T>
ich den Großteil des Codes aus der nur BTree<T>
Klasse und verließ den Konstruktor gelöscht habe. Wenn es jedoch wichtig ist, kann ich den gesamten Code hinzufügen, wenn jemand glaubt, dass es hilfreich ist. Die BTree<T>
Klasse sieht ungefähr so aus:Java: Wie erstelle ich eine Instanz einer generischen Klasse, die eine abstrakte Schnittstelle implementiert?
package assignment2_draft;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;
public class BTree<T> implements SSet<T> {
//Some methods
public BTree(int b, Class<T> clz) {
this(b, new DefaultComparator<T>(), clz);
}
}
In meiner eigenen Klasse, Ich versuche, die BTree<T>
Klasse zu rufen und eine Integer in die generischen passieren. In meiner Klasse habe ich:
BTree<Integer> myTree=new BTree<Integer>(Integer.class);
die in generischen Klassen vor, aber nicht diese Klasse gearbeitet hat. Ich frage mich, übertrage ich die Parameter richtig? Oder brauche ich irgendwie SSet<T>
verweisen, wenn eine Instanz von BTree<T>
Implementiert eine *** abstrakte *** Schnittstelle? Im Gegensatz zu welcher anderen Art von Schnittstelle? [JLS §9.1.1.1] (https://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.1.1.1): *** Jede ** Schnittstelle ist implizit 'abstract'. * – Andreas