Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
[c]this[/c] ist die Referenz auf die aktuelle Klasseninstanz. Du brauchst es u.a. wenn du ein Objekt hast, welches sich selber einem Konstruktor oder eine Methode übergeben musst. Oder wenn eine lokale (Methoden-)Variable den gleichen Namen hat. z.B. ein Setter:
Java:
public class Foo {
private String bar;
public void setBar(String bar) { // diese Variable heisst gleich wie die Klassenvariable
this.bar = bar; // Klassenvariable übernimmt Wert oder Referenz von lokaler Variable
}
}
nur beim letzten komme ich noch nicht weiter. Das problem ist, dass der benutzer über die console namen von einem bestimmten Typ eingeben kann. und das z.B 5 mal oder so. diese eingegebenen Namen sollen dann ein Objekt dieses eingegbenen Typs sein. kling das verstänglicher?? ich müsste also fast wie eine liste erstellen, die es erlaubt die eingescannten wörter zu speichern...
Meinst du, der Nutzer soll einen Klassennamen (wie java.util.Date oder so) eingeben, und du willst 5 Objekte davon erzeugen? Wenn du das meinst: Ja, das geht (gucke mal im Java-Insel-Buch unter "Reflection"), aber das wird sehr selten verwendet und ist definitiv kein Anfängerthema. Java ist eine statisch getypte Sprache, und mit Reflection umgehst du sozusagen das Typsystem, was diese Sache sehr viel weniger nützlich macht als in Sprachen mit dynamischen Typsystem (wie Ruby, Python und Co).
ich habe z.B eine Klasse X. Und ich habe eine Klasse Y. nun möchte ich, dass der benutzer eine bestimmte Anzahl Objekte vom typ X per Konsole eingeben kann(geschieht in der Y-Klasse). Also ganz einfach mit dem scanner.
Na du liest die benötigten Argumente in der Schleife mit dem Scanner ein, und erzeugst mit new neue Objekte, die du gegebenfalls in einer geeigneten Datenstruktur abspeicherst.
Ungefähr so (ungetestet, mit einer Dummy-Klasse)
Java:
public Person[] input () {
Scanner scn = new Scanner (System.in);
Person[] personen = new Person[5];
for (int i=1;i<=5;i++){
System.out.println("Vorname?");
String vorname = scn.next();
System.out.println("Nachname?");
String nachname = scn.next();
personen[i] = new Person(vorname, nachname);
}
return personen;
}
Der Benutzer gibt einen Namen ein. Dann wird eine Instanz vom Typ X erstellt und unter dem eingegebenen Namen "abgespeichert". Der Benutzer kann später wieder über den Namen auf die Instanz zugreifen.
okee..mit diesen Infos sollte ich es hinkriegen..vielen dank für eure hilfe.
entschuldigung für meine ausdrucksart..die vielen java begriffe sind mir noch nicht so geläufig