# Objekte erstellen, wenn der Klassen-Name als String vorliegt



## KippenKarl (22. Jan 2007)

Hallo,
ich programmiere gerade einen Programm, dass einen Java-Wettbewerb auswertet, zu dem jeder Teilnehmer eine *.java-Datei, also eine eigene Klasse abgibt. Nun muss von jeder abgegebenen Klasse mindestens einmal ein Objekt in meinen Programm erstellt werden. Allerdings weiß ich vorher nicht, wieviele java-Dateien abgegeben werden, außerdem nicht wie sie heißen.
Ich suche nun nach einer automatisierten Möglichkeit, aus einer unbekannten Anzahl von Klassen-Dateien Objekte zu erzeugen. Ich kann natürlich die Datei-Namen als String-Array einlesen, aber sobald ich ein Objekt initialisieren will, muss ich ja den Klassen-Typ angeben, und als Variabel-TYP kann man nicht einfach einen Variabel-WERT (z.B. einen String) benutzen.
Ich suche  also eine Befehl/eine Befehlsfolge, die sagt:


```
//(Lese Verzeichnis-Inhalt als String-Array datname[] ein)
    for (i=0; i<datname.length; i++)
    {
     object obj[i] = ein neues Objekt der Klasse mit dem Namen datname[i] //das muss doch irgendwie möglich sein?
    }
```
Ich hoffe, ich habe das Problem halbwegs verständlich umrissen. Für Hilfe wäre ich sehr dankbar. Eine schöne Woche wünscht
Jakob


----------



## Der Müde Joe (22. Jan 2007)

Klassen laden via Name...hmmm....Reflection

java.lang.Class


----------



## Marco13 (22. Jan 2007)

Ja, das geht sogar ohne "echte" Reflection: Klasse holen

Class clazz = Class.forName(meinName);

Neue Instanz erzeugen:

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html#newInstance()


----------



## KippenKarl (25. Jan 2007)

Danke!! Hat geklappt. Langsam gefällt mir dieses Java echt gut... Da ich nicht registriert bin, kann ich leider das hier nicht als erledigt abhaken.


----------



## Leroy42 (25. Jan 2007)

KippenKarl hat gesagt.:
			
		

> Da ich nicht registriert *bin*, kann ich leider das hier nicht als erledigt abhaken.



Ja, das ist wirklich ein schweres Los nicht registriert zu sein.
Z.B. bekommst du jetzt keine email-Benachrichtigung daß ich
einen Folgepost geschrieben habe.

Aber da kann man wohl nix machen; echt schade!  :cry: 
( :bae: )


----------

