Erstellen Sie eine generische Klasse in Java

EIN generische Klasse in Java ist eine Klasse, die auf einen bestimmten Typ festgelegt durch den Programmierer bei der Kompilierung arbeiten kann. Um das zu erreichen, verwendet der Klassendefinition Typ-Parametersdass wirken als Variablen, die Typen repräsentieren (wie int oder Schnur).

Um eine generische Klasse erstellen, listen Sie den Typ-Parameter nach dem Klassennamen in spitzen Klammern. Der Typ-Parameter gibt einen Namen, die Sie überall in der gesamten Klasse verwenden, können Sie sonst eine Art verwenden würde. Zum Beispiel, hier ist eine vereinfachte Version der Klasse Erklärung für die Anordnungsliste Klasse:

public class Arraylist 

Ich verließ aus der erweitert und Arbeitsgeräte Klauseln über die formale Art Parameter zu konzentrieren:. Das E Parameter spezifiziert die Art der Elemente, die in der Liste gespeichert sind.

Um eine Instanz einer generischen Klasse zu erstellen, müssen Sie die tatsächliche Art bereitzustellen, die anstelle des Typ-Parameter verwendet wird, wie folgt aus:

Anordnungsliste myArrayList-

hier ist die E Parameter Schnur, so dass der Elementtyp für diese Instanz des Anordnungsliste Klasse Schnur.

Nun ein Blick auf die Erklärung für die hinzufügen Verfahren für die Anordnungsliste Klasse:

public boolean add (E o) {// Körper der Methode weggelassen (danke)}

Wo man normalerweise erwarten einen Parametertyp, um zu sehen, sehen Sie den Buchstaben E. Somit gibt diese Methode Erklärung, dass der Typ für den o Parameter der Typ für die formale Typ-Parameter angegeben ist E. Ob E ist Schnur, das hinzufügen Methode akzeptiert nur Schnur Objekte. Wenn Sie den Anruf hinzufügen Verfahren alles andere als ein Passieren Schnur Parameter, wird der Compiler eine Fehlermeldung generiert.

Sie können auch einen Typparameter als Rückgabetyp verwenden. Hier ist die Erklärung für die Anordnungsliste Klasse bekommen Verfahren:

public E get (int index) {// Körper der Methode weggelassen (Sie sind willkommen)}

Hier, E wird als Rückgabetyp angegeben. Das bedeutet, wenn E ist Schnur, Rückgabe dieser Methode Schnur Objekte.

Der entscheidende Vorteil von Generika ist, dass Typ-Prüfung bei der Kompilierung geschieht. So, nachdem Sie den Wert eines formalen Typ-Parameter angeben, weiß der Compiler, wie die Typüberprüfung durch den Parameter implizit zu tun. Das ist, wie sie weiß nicht, dass Sie zu lassen hinzufügen Schnur Objekte ein Mitarbeiter Sammlung.

Menü