Was ist der Nutzen von generischen Konstruktoren?

generischerUser

Neues Mitglied
[Java]
public class Beispielklasse <T>{
T diesunddas;
public <B>Beispielklasse(T irgendeinevariable,B irgendeineandereVariable){}
public static void main(String[] args){
Beispielklasse <String> test;
test = new <String>/*B*/ Beispielklasse/*T*/<String>("Dies ist ein String","");
}
}
[/Java]
Hi, da Kontruktoren und Klassen generisch sein können, frage ich mich warum bei Konstruktoren überhaupt diese Möglichkeit besteht, denn: 1. Sie Speichern keine Variable dauerhaft. 2. Sie haben keinen Rückgabetyp, den der Kompiler überprüfen kann. Also hätte ich die Frage, ob ein generischer Konstruktor sinnvoll sein kann.
 

consider

Mitglied
Immer dann, wenn beim Programmieren noch nicht fest steht, was denn für ein Typ in der Klasse gespeichgert werden soll. Nimm dir zB ein Arraylist. Diese kann immer den selben Typ speichern, muss aber so geschrieben sein, dass sie quasi JEDEN Typ speichern kann. Man könnte also jede Variable als Typ Object festlegen, müsste dann aber permanent hin und her casten und prüfen und würde typsicherheit verlieren, oder man macht sie generisch.
 
Zuletzt bearbeitet:

CSHW89

Bekanntes Mitglied
@consider: Ja das erklärt, warum Klassen generisch sein können, aber nicht Konstruktoren, wonach der TE eigentlich gefragt hat.

@generischerUser: Ehrlich gesagt, fällt mir kein Anwendungsbeispiel ein, wo man es benutzen könnte. Falls man eine anonyme Klasse im Konstruktor definiert, und diese eine Variable vom Typ B hat, könnte man es gebrauchen. Aber ob es dafür eine sinnvolle Anwendung gibt, wage ich zu bezweifeln.

lg Kevin
 
Zuletzt bearbeitet:

consider

Mitglied
Hmm ach so. Na da fällt mir auch nicht wirklich etwas ein. Am Ende sind Konstruktoren ja auch Methoden, und da generische Methoden nun mal möglich sind, geht es eben da auch. Ob es Sinn macht, keine Ahnung. Wo hast du es denn gesehen?
 

Qler

Mitglied
Ich bin im Netz vor langer Zeit schonmal über die gleiche Frage gestolpert und fand dann den Artikel von Angelika Langer sehr gut.

AngelikaLanger.com - Java Generics - A Generics Pair Class and its Constructors - Angelika Langer Training/Consulting

TL;DR: Man kann einen generischen Konstruktor benutzen, um ein ähnliches Verhalten zu erhalten wie durch den Einsatz von wildcards.

Wildcard Konstruktor:

Code:
public Pair(Pair<? extends X,? extends Y>  other) { 
   // ...
}

vs generischer Konstruktor:

Code:
public <A extends X, B extends Y> 
Pair(Pair<A,B> other) { 
   // ...
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
I Objekte in ShareProject speichern um später zu nutzen Java Basics - Anfänger-Themen 4
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
A Ein Array bearbeiten und in einer anderen Methode nutzen Java Basics - Anfänger-Themen 6
jamboy7 Java-API kennenlernen, verstehen und nutzen lernen Java Basics - Anfänger-Themen 4
K Zweimal dieselbe Methode als Übergabeparameter nutzen Java Basics - Anfänger-Themen 1
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
T Mathe Bibliotheksfunktionen nutzen bei Geany Java Basics - Anfänger-Themen 1
B Jsoup: gleiche Session nutzen Java Basics - Anfänger-Themen 0
G Scanner nutzen und Index auslesen Java Basics - Anfänger-Themen 8
I Greedy Methode Methoden nutzen Java Basics - Anfänger-Themen 3
I Klassen als Datentyp nutzen? Java Basics - Anfänger-Themen 11
J Button als Feld nutzen Java Basics - Anfänger-Themen 17
CptK Interface 2 von einander unabhängige Frames mit Panel gleichzeitig nutzen Java Basics - Anfänger-Themen 66
I System.currentTimeMillis() nutzen Java Basics - Anfänger-Themen 2
K FYI: Reguläre Ausdrücke nutzen ja/nein Java Basics - Anfänger-Themen 2
M Welches Framework für kleine WebApp nutzen? Java Basics - Anfänger-Themen 6
M WebApp in Azure - Welse Tools nutzen? Java Basics - Anfänger-Themen 2
I Java updatebar? Oder lieber C# nutzen? Java Basics - Anfänger-Themen 9
J Polymorphie und Dynamisches Binden richtig nutzen Java Basics - Anfänger-Themen 11
L Variable aus einer Klasse in einer anderen Klasse nutzen Java Basics - Anfänger-Themen 6
S Abstrakte Methode nutzen Java Basics - Anfänger-Themen 9
Kornblume Comparable Interface für Objektvergleiche nutzen Java Basics - Anfänger-Themen 15
deatzi Variable aus If Abfrage später nutzen Java Basics - Anfänger-Themen 4
L Variablen in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
B Methoden Nutzen der Instanzvariablen in Klassenmethoden Java Basics - Anfänger-Themen 1
S Vererbung Variablen klassenübergreifend nutzen Java Basics - Anfänger-Themen 42
B Variable in mehreren Klassen nutzen Java Basics - Anfänger-Themen 4
A Kann man ein Attribut aus einer anderen Klasse nutzen? Java Basics - Anfänger-Themen 3
O Datentypen Volle 16 Bit eines Short für flags Abfrage nutzen Java Basics - Anfänger-Themen 11
L Java 1.6 ohne sicherheitsmedung nutzen Java Basics - Anfänger-Themen 4
U Array werte speichern und für berechnungen nutzen Java Basics - Anfänger-Themen 4
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
P Verschiedene Java Versionen nutzen Java Basics - Anfänger-Themen 6
F Interface aus anderem Package nutzen Java Basics - Anfänger-Themen 10
S Input/Output JS Source code in Java nutzen Java Basics - Anfänger-Themen 1
M Pc Leistung zu 100% nutzen Java Basics - Anfänger-Themen 4
N Variablen Variable in Main deklarieren und in anderer Methode nutzen Java Basics - Anfänger-Themen 12
O Innere Klassen nutzen? Java Basics - Anfänger-Themen 4
S Umgebungsvariable Wert einer Variable global nutzen Java Basics - Anfänger-Themen 3
D OOP Nutzen von Accesors? Java Basics - Anfänger-Themen 13
T unterklasse will eine methode von der oberklasse nutzen Java Basics - Anfänger-Themen 4
D Name einer Variable als String nutzen Java Basics - Anfänger-Themen 13
K Vererbung Variable aus anderer Klasse nutzen Java Basics - Anfänger-Themen 3
A .jar unter Linux nutzen Java Basics - Anfänger-Themen 2
K Ein zentrales Objekt in vielen anderen Klassen nutzen? Java Basics - Anfänger-Themen 22
DStrohma Best Practice Hibernate für kleine Anwendung nutzen? Java Basics - Anfänger-Themen 4
B methoden aus einer anderen klasse nutzen Java Basics - Anfänger-Themen 3
B Kann man Windowbuilder auch mit Juno (also Eclipse 4.2) nutzen? Java Basics - Anfänger-Themen 1
J Sinn/Nutzen von Scanner Java Basics - Anfänger-Themen 23
C Printf nutzen Java Basics - Anfänger-Themen 10
C Printf nutzen Java Basics - Anfänger-Themen 6
Anfänger2011 selber geschriebene Programme nutzen Java Basics - Anfänger-Themen 11
K Verschiedene JDK´s paralell nutzen? Java Basics - Anfänger-Themen 3
M Interface als Konstruktorparameter nutzen, um Funktion zu plotten Java Basics - Anfänger-Themen 14
B lokales JRE bei Applets nutzen ? Java Basics - Anfänger-Themen 4
L Variable einer ListenerKlasse nutzen Java Basics - Anfänger-Themen 3
X Muss man Java können um Jython nutzen zu können? Java Basics - Anfänger-Themen 14
A Variablen Variable aus if in main nutzen Java Basics - Anfänger-Themen 14
V Ressourcen aus Ordner nutzen Java Basics - Anfänger-Themen 5
E JNI Registry in Executable Jar Datei nutzen? Java Basics - Anfänger-Themen 6
I Konstruktor in anderer Klasse nutzen Java Basics - Anfänger-Themen 11
T csv einlesen, nutzen einer direkten speicherort eingabe Java Basics - Anfänger-Themen 2
R Verschiedene Jar Versionen nutzen Java Basics - Anfänger-Themen 14
P Methoden Daten aus Methode weiter nutzen Java Basics - Anfänger-Themen 14
P Variablen Variable in if Bedingung anlegen, Wert zuweisen und diesen als Bedingung nutzen Java Basics - Anfänger-Themen 4
J 2d Koordinaten in Array richtig nutzen Java Basics - Anfänger-Themen 2
P WAV-Datei in Eclipse nutzen und in .jar exportieren Java Basics - Anfänger-Themen 5
W welches Paket für welches Aufgabe nutzen Java Basics - Anfänger-Themen 3
D Teile eines Time-Strings nutzen Java Basics - Anfänger-Themen 8
Binary.Coder Wie linkedlist für Djikstra nutzen? Java Basics - Anfänger-Themen 6
F Color Map .map-Datei nutzen Java Basics - Anfänger-Themen 4
N Variablen Variable nach Schleife nutzen Java Basics - Anfänger-Themen 5
E Clonable-Interface für Backups nutzen Java Basics - Anfänger-Themen 2
Bastie Compiler-Fehler Fremde .class nutzen? Java Basics - Anfänger-Themen 12
W Datentypen Operatoren für eigenen Datentyp nutzen Java Basics - Anfänger-Themen 2
M Mehrere Threads nutzen --> run() schneller als start(), Warum? Java Basics - Anfänger-Themen 3
E JButton klassenübergreifend nutzen? Java Basics - Anfänger-Themen 6
B Snowball Stemmer Bibliothek nutzen Java Basics - Anfänger-Themen 8
D Selbstprogrammierte Datein in Netbeans nutzen? Java Basics - Anfänger-Themen 2
Burny91 FileReader und Writer gleichzeitg nutzen Java Basics - Anfänger-Themen 2
E Programm auch auserhalb von Eclipse nutzen? Java Basics - Anfänger-Themen 3
Developer_X String[]args nutzen, wie? Java Basics - Anfänger-Themen 7
S Klassenbibliotheken nutzen und finden? Java Basics - Anfänger-Themen 6
M LinkedList in anderer Klasse nutzen Java Basics - Anfänger-Themen 4
B Variable einer Klasse in einer anderen Klasse nutzen Java Basics - Anfänger-Themen 14
B Eine neue Klasse in anderen Projekten nutzen Java Basics - Anfänger-Themen 5
H Maps? Wozu? Nutzen? Java Basics - Anfänger-Themen 3
B TR programmiert nun will ich es im PC nutzen Java Basics - Anfänger-Themen 2
C Von einer Klasse auf die nächste Zugreifen und die Methode nutzen? Java Basics - Anfänger-Themen 5
R Variablen Klassenübergreifend nutzen Java Basics - Anfänger-Themen 18
Antoras eine Instanz von mehrere Klassen aus nutzen Java Basics - Anfänger-Themen 2
B Datei aus Jar-Datei richtig nutzen Java Basics - Anfänger-Themen 4
Daniel_L Geschweifte Klammern nutzen oder nicht? Java Basics - Anfänger-Themen 3
D Integer aus Nebenklasse in Hauptklasse nutzen Java Basics - Anfänger-Themen 8
B Wie kann ich eigene Pakete nutzen? Java Basics - Anfänger-Themen 10
-horn- Bereits aufgerufene Class aus anderer Class nutzen? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben