Hallo,
ich habe hier ein kleines Programm geschrieben, ein bisschen anders als auf DVD, und dazu habe ich paar Fragen.
Meine Variante, die funktioniert:
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.LayoutManager;
public class ButtonsGenerator extends Frame{
public ButtonsGenerator() {
setLayout(new FlowLayout());
for(int i=0;i<10;i++){
button** = new Button("Ich bin Nr. "+i);
add(button**);
}
}
Button[] button = new Button[10];
public static void main(String[] args) {
ButtonsGenerator generator = new ButtonsGenerator();
generator.setVisible(true);
}
}
Und so hat man das auf der DVD gemacht:
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.LayoutManager;
public class ButtonsGenerator extends Frame {
public ButtonsGenerator() {
super();
this.setLayout(new FlowLayout());
for (int i = 0; i < 10; i++) {
button** = new Button("Ich bin Nr. " + i);
this.add(button**);
}
}
private Button[] button = new Button[10];
public static void main(String[] args) {
ButtonsGenerator generator = new ButtonsGenerator();
generator.setVisible(true);
}
}
Meine Fragen dazu:
- Ist es egal, ob ich [] bei der Klasse oder beim Objekt setze?(siehe Button[] button] Was ist die schönere und die richtigere Variante?
- Wofür wird hier ein leerer Konstruktor der Superklasse aufgerufen?
- Warum hat man in diesem Beispiel **this **verwendet(wie nenn man das Wort nochmal? Referenz?)
- Ist es üblich alles im Konstruktor zu machen und nicht in eigener Klasse oder in der main() Methode?
Danke