Heim  >  Artikel  >  Java  >  Generische Methoden in Java

Generische Methoden in Java

高洛峰
高洛峰Original
2016-12-19 15:14:151916Durchsuche

Ich werde hier nicht im Detail darauf eingehen, was Generika bedeuten, und die Definition generischer Klassen in Java ist relativ einfach, zum Beispiel: öffentliche Klasse Test{}. Dies definiert einen generischen Klassentest. Beim Instanziieren der Klasse muss der spezifische Typ des generischen T angegeben werden. Beispiel: Test();, was angibt, dass der Typ des generischen T ist Objekt.

Aber generische Methoden in Java sind komplizierter.

Die generische Klasse gibt den spezifischen Typ des Generikums an, wenn die Klasse instanziiert wird; die generische Methode gibt den spezifischen Typ des Generikums an, wenn sie die Methode aufruft.

Das Syntaxformat zum Definieren einer generischen Methode lautet wie folgt:

Generische Methoden in Java

Das Syntaxformat zum Aufrufen einer generischen Methode lautet wie folgt:

Generische Methoden in Java

Erklären Sie, dass Sie beim Definieren einer generischen Methode ein vor dem Rückgabewert hinzufügen müssen, um zu deklarieren, dass es sich um eine generische Methode handelt und ein generisches T enthält. Dann können Sie verwenden das generische T als Rückgabewert der Methode.

Die Funktion von Class besteht darin, den spezifischen Typ der generischen Klasse anzugeben, und die Variable c des Typs Class kann zum Erstellen von Objekten der generischen Klasse verwendet werden.

Warum die Variable c zum Erstellen von Objekten verwenden? Da es sich um eine generische Methode handelt, wissen wir weder um den spezifischen Typ noch um die Konstruktionsmethode. Daher gibt es keine Möglichkeit, ein neues Objekt zu erstellen, aber wir können die newInstance-Methode der Variablen c verwenden Erstellen Sie das Objekt, das heißt, verwenden Sie die Reflexion, um es zu erstellen.

Die für die generische Methode erforderlichen Parameter sind vom Typ Class, und der Rückgabewert der Class.forName()-Methode ist ebenfalls Class, sodass Class.forName() als verwendet werden kann ein Parameter. Unter anderem ist der Typ der Parameter in der forName()-Methode der Typ der zurückgegebenen Klasse. In diesem Beispiel wird die Methode forName() im vollständigen Pfad der User-Klasse übergeben, sodass beim Aufruf der generischen Methode der Typ der Variable c Class zurückgegeben wird ;, also Das generische T in der generischen Methode wird als Benutzer angegeben, sodass der Typ der Variablen obj Benutzer ist.

Natürlich kann eine generische Methode nicht nur einen Parameter Class haben, Sie können bei Bedarf weitere Parameter hinzufügen.

Warum generische Methoden verwenden? Da eine generische Klasse den Typ angeben muss, wenn sie instanziiert wird, müssen Sie sie erneut erstellen, wenn Sie zu einem anderen Typ wechseln möchten. Dies ist möglicherweise nicht flexibel genug, während eine generische Methode den Typ angeben kann, wenn sie aufgerufen wird , was flexibler ist.



Weitere Artikel zu generischen Methoden in Java finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn