G
Gast
Gast
Hallo,
ich habe zwei Fragen zu zwei Themen . Und zwar
1)
Ich lese mich gerade in Generics ein und frage mich wieso man bei generischen Methoden ein <T> "voranstellen" muss. Zb <T>void methode(T irgendwas). Ist die Methode nicht so gesehen generisch, sobald T in der Paramterliste auftaucht?
Wie intensiv nutzt ihr Generics? Irgendwie habe ich dies bislang nur bei Collections genutzt und wundere mich, wie vielseitig Generics einsetzbar sind. Achtet ihr beim "bauen" eurer Klassen darauf Generics zu nutzen, oder nutzt ihr dies nur zum "Templating" also praktisch dort, wo ihr früher Object übergeben habt, da ihr nicht wusstet welche Objekttypen übergeben werden.
2)
Ich habe im Bereich Reflections bzw. in einigen Quellcodes die ich gelesen habe jetzt gesehen, das Klassen mit Class.forName(...).newInstance() erzeugt wurden.
Begründet wird dies unter anderem damit, das dies genutzt wird, wenn man erst zur Laufzeit weiss, um welche konkrete Klasse es sich handelt.
In anderen Erklärungen heisst es, dass man dies nutzt, um zur Laufzeit dynamisch eine Klasse zu laden. Nur verstehe ich das nicht so ganz.
Mit Klasse x; und später x = new Klasse() erzeuge ich auch dynamisch zur Laufzeit eine Instanz der Klasse und wenn ich nicht genau weiss, welche Klasse ich zur Laufzeit benötige nutzt man doch normal eine Art des Factory Pattern. Könntet
Ihr mir ein paar praktische Beispiele geben, damit ich sehe wo bzw. wie Class.forName überall zum Einsatz kommt? Ist dies evtl nützlich um auf externe Klassendateien zuzugreifen bzw. kann man als Parameter einen kompletten Dateipfad angeben?
Soweit mal
ich habe zwei Fragen zu zwei Themen . Und zwar
1)
Ich lese mich gerade in Generics ein und frage mich wieso man bei generischen Methoden ein <T> "voranstellen" muss. Zb <T>void methode(T irgendwas). Ist die Methode nicht so gesehen generisch, sobald T in der Paramterliste auftaucht?
Wie intensiv nutzt ihr Generics? Irgendwie habe ich dies bislang nur bei Collections genutzt und wundere mich, wie vielseitig Generics einsetzbar sind. Achtet ihr beim "bauen" eurer Klassen darauf Generics zu nutzen, oder nutzt ihr dies nur zum "Templating" also praktisch dort, wo ihr früher Object übergeben habt, da ihr nicht wusstet welche Objekttypen übergeben werden.
2)
Ich habe im Bereich Reflections bzw. in einigen Quellcodes die ich gelesen habe jetzt gesehen, das Klassen mit Class.forName(...).newInstance() erzeugt wurden.
Begründet wird dies unter anderem damit, das dies genutzt wird, wenn man erst zur Laufzeit weiss, um welche konkrete Klasse es sich handelt.
In anderen Erklärungen heisst es, dass man dies nutzt, um zur Laufzeit dynamisch eine Klasse zu laden. Nur verstehe ich das nicht so ganz.
Mit Klasse x; und später x = new Klasse() erzeuge ich auch dynamisch zur Laufzeit eine Instanz der Klasse und wenn ich nicht genau weiss, welche Klasse ich zur Laufzeit benötige nutzt man doch normal eine Art des Factory Pattern. Könntet
Ihr mir ein paar praktische Beispiele geben, damit ich sehe wo bzw. wie Class.forName überall zum Einsatz kommt? Ist dies evtl nützlich um auf externe Klassendateien zuzugreifen bzw. kann man als Parameter einen kompletten Dateipfad angeben?
Soweit mal