Geschachtelte Konstruktoren

Status
Nicht offen für weitere Antworten.

Lexi

Bekanntes Mitglied
Ich habe ein kleines Problem beim schachteln zweier Konstruktoren.
Ich habe eine Klasse "Ok" die von Dialog abgeleitet ist und 2 Kontruktoren besitzt, von denen leider bis jetzt nur einer funktioniert.

Folgendes ist der erste Konstruktor:
Code:
public Ok(Frame father, String title, String[] lbl, boolean exit)
    {
        super(father,title,true);
        setResizable(false);
        Point p = father.getLocation();
        setLocation(p.x + 30, p.y + 70);
        GridLayout gl = new GridLayout(lbl.length+1,1,10,10);
        setLayout(gl);
        
        for(int i = 0; i<lbl.length;i++)
        	add(new Label(lbl[i]));

        btOk = new Button("OK");
        btOk.addActionListener(this);
        add(btOk);
        
        pack();
        setVisible(true);
        this.exit = exit;
    }

Jetzt versuche ich wie folgt den zweiten Konstruktor aufzurufen:
Code:
public Ok(Frame father, String title, String lbl, boolean exit)
    {     
        String[] label = {lbl};
    	this(father,title,label,exit);
    }

Jetzt sagt er mir, dass der Aufruf des Konstruktors der erste Auftrag sein muss.
Wenn ich den Konstrukter allerdings direkt am Anfang aufrufe, habe ich keine Möglichkeit meinen String in ein String[] zu konvertieren.
 
S

SlaterB

Gast
in diesem Fall gehts ja noch mit
this(father,title,new String[] {lbl},exit);

ansonsten dann eben keinen zweiten Konstruktor sondern z.B. eine statische Methode die den normalen Konstruktor aufruft,
bei Vererbung ist das natürlich weniger schön

letzte Alternative ist noch eine Methodenaufruf
this(father,title,createArrayFor(lbl),exit);
 

Lexi

Bekanntes Mitglied
Habe jetzt die erste Variante gewählt und es klappt wie gewollt. Ist sowas eigentlich üblich ? Dass man die Variable erst bei der Parameterübergabe deklariert?

Das mit der Methode hatte ich ausprobiert, das hat leider auch nicht funktioniert.
Allerdings war sie nicht statisch, vielleicht funktionierts dann.

EDIT: Ist ja gar keine Deklarartion, hab mich vertan.
 

Murray

Top Contributor
In diesem Fall könntest Du auch - wenn Du mindestens Java 5 verwendest - beide Konstruktoren zusammenfassen; dazu müsstest Du allerdings die Reihenfolge der Parameter verändern:

Wenn Du statt

Code:
public Ok(Frame father, String title, String[] lbl, boolean exit)
einfach

Code:
public Ok(Frame father, String title, boolean exit, String ... lbl)
schreibst, dann lässt sich das sowohl so
Code:
new OK( theFrm, theTitle, false, "Ein Label");
als auch so
Code:
new OK( theFrm, theTitle, false, "Ein Label", "Und noch ein Label", "Und noch ein drittes Label");
als auch so
Code:
String[] strs = createSomeStringArray();
new OK( theFrm, theTitle, false, strs);
verwenden.

Du brauchst also nur noch einen Konstruktor und kannst trotzdem eine beliebige Zahl von Labels (oder auch ein Arry von Labels) übergeben.
 

Lexi

Bekanntes Mitglied
Wenn ich die variablen Parameterliste wähle, würde das ganze leider bei uns in der Schule nicht laufen. Dort ist Java noch bei Version 1.4 .
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M geschachtelte for-Schleifen - Einmaleins ausgeben Java Basics - Anfänger-Themen 3
K geschachtelte "for-Schleifen" Java Basics - Anfänger-Themen 3
U geschachtelte if-Schleife Java Basics - Anfänger-Themen 15
P geschachtelte Schleife mit Strings Java Basics - Anfänger-Themen 2
E geschachtelte for-schleifen Java Basics - Anfänger-Themen 6
P geschachtelte for schleife Java Basics - Anfänger-Themen 3
O Array, geschachtelte For-Schleifen Java Basics - Anfänger-Themen 34
B Arrays/Geschachtelte For-Schleife Fehler Java Basics - Anfänger-Themen 8
A Klassen Geschachtelte Klassen - Hat das Objekt dann beide Klassen? Java Basics - Anfänger-Themen 4
W Geschachtelte for-schleife beenden Java Basics - Anfänger-Themen 2
O Geschachtelte For-Schleifen Java Basics - Anfänger-Themen 1
R Geschachtelte For schleife Java Basics - Anfänger-Themen 9
D Textdatei in geschachtelte Array speichern Java Basics - Anfänger-Themen 17
P geschachtelte schleife Java Basics - Anfänger-Themen 16
S geschachtelte schleifen Java Basics - Anfänger-Themen 5
J Geschachtelte If-Else Anweisung Java Basics - Anfänger-Themen 6
G Geschachtelte ArrayListen Java Basics - Anfänger-Themen 27
B Geschachtelte Klassen Java Basics - Anfänger-Themen 2
H Geschachtelte Liste Java Basics - Anfänger-Themen 4
S kask./geschachtelte if-anweisung Java Basics - Anfänger-Themen 5
N geschachtelte ausgabe einer zeichenkette Java Basics - Anfänger-Themen 5
N Verschiedene Konstruktoren mit gleichen Datentypen Java Basics - Anfänger-Themen 8
C Konstruktoren und Variablen Java Basics - Anfänger-Themen 42
lougoldi Verkettung von Methoden und Konstruktoren Java Basics - Anfänger-Themen 4
J Konstruktoren und Grafik Java Basics - Anfänger-Themen 3
A Cannot find symbol mit Konstruktoren Java Basics - Anfänger-Themen 27
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
C Objekte und Konstruktoren Java Basics - Anfänger-Themen 2
M Methodenaufrufe im Konstruktoren Java Basics - Anfänger-Themen 31
A Konstruktoren Vererbung Java Basics - Anfänger-Themen 3
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
M Vererbung Konstruktoren mit festen Werte Java Basics - Anfänger-Themen 2
F Mehrere Konstruktoren? Wofür? Java Basics - Anfänger-Themen 21
J Konstruktoren in Initialisierungsblöcke Java Basics - Anfänger-Themen 6
T Konstruktoren Java Basics - Anfänger-Themen 25
D was bedeutet this. bei Konstruktoren? Java Basics - Anfänger-Themen 4
C Konstruktoren und Vererbung Java Basics - Anfänger-Themen 2
C Die Klasse Menge mit Konstruktoren und einfachen Methoden Java Basics - Anfänger-Themen 5
F Mehrere Konstruktoren Java Basics - Anfänger-Themen 10
G Was ist der Nutzen von generischen Konstruktoren? Java Basics - Anfänger-Themen 4
Q Methoden Konstruktoren anlegen Java Basics - Anfänger-Themen 5
B Objekte in Konstruktoren übergeben Java Basics - Anfänger-Themen 5
D Zähler nicht sichtbar (Thema: Konstruktoren) Java Basics - Anfänger-Themen 2
A Überladen von Konstruktoren Java Basics - Anfänger-Themen 2
V Konstruktoren Java Basics - Anfänger-Themen 15
C Klassen StackOverflow bei erster Nutzung von Klassen/Konstruktoren Java Basics - Anfänger-Themen 9
F Konstruktoren Java Basics - Anfänger-Themen 4
M Erste Schritte Verständnis Problem Konstruktoren Java Basics - Anfänger-Themen 13
Y Klassen, Vererbung, Konstruktoren Java Basics - Anfänger-Themen 13
B Klassen Unterschied Konstruktoren. Java Basics - Anfänger-Themen 3
C Erste Schritte Konstruktoren verstehen Java Basics - Anfänger-Themen 7
W OOP Konstruktoren Erklärung Java Basics - Anfänger-Themen 14
N Abarbeitungsreihenfolge von Konstruktoren Java Basics - Anfänger-Themen 12
O Klassen und Konstruktoren Java Basics - Anfänger-Themen 7
V Konstruktoren -> Funktionsaufrufe Java Basics - Anfänger-Themen 7
Q Konstruktoren und Methoden Java Basics - Anfänger-Themen 2
C Konstruktoren Java Basics - Anfänger-Themen 7
J Konstruktoren Java Basics - Anfänger-Themen 10
M Konstruktoren & Veerbung Java Basics - Anfänger-Themen 6
T Konstruktoren Java Basics - Anfänger-Themen 6
P Enum Attribut in Konstruktoren Java Basics - Anfänger-Themen 10
R Vererbung Konstruktoren nicht erkannt Java Basics - Anfänger-Themen 17
H Klassen, Konstruktoren, Instanzen etc Java Basics - Anfänger-Themen 6
J OOP Konstruktoren, setMethode, getMethode usw. Java Basics - Anfänger-Themen 7
A überladene Konstruktoren Java Basics - Anfänger-Themen 7
L Frage zu Konstruktoren und dem this Operator Java Basics - Anfänger-Themen 16
W 2 Konstruktoren Java Basics - Anfänger-Themen 8
B Vererbung und Konstruktoren Java Basics - Anfänger-Themen 33
N Vererbung von Konstruktoren mit Parametern Java Basics - Anfänger-Themen 7
S Konstruktoren verketten Java Basics - Anfänger-Themen 6
A Konstruktoren sollen sich gegenseitig aufrufen Java Basics - Anfänger-Themen 10
B Konstruktoren Sichtbarkeit Java Basics - Anfänger-Themen 2
K Kann man Private-Konstruktoren doch aurufen? Java Basics - Anfänger-Themen 8
E Konstruktoren und Methoden Java Basics - Anfänger-Themen 10
E OOP individual + standard-Konstruktoren Java Basics - Anfänger-Themen 9
S Konstruktoren? Java Basics - Anfänger-Themen 5
K Konstruktoren Java Basics - Anfänger-Themen 13
H Konstruktoren – super! Java Basics - Anfänger-Themen 3
hdi Kleine Design/Convention Frage zu Konstruktoren Java Basics - Anfänger-Themen 4
J Vererbung und Konstruktoren Java Basics - Anfänger-Themen 14
J Problem mit Konstruktoren Java Basics - Anfänger-Themen 2
G Überladen von Konstruktoren mit unterschiedlichen Datentypen Java Basics - Anfänger-Themen 4
H Befehl mit Konstruktoren Java Basics - Anfänger-Themen 2
L Konstruktoren bei Vererbung Java Basics - Anfänger-Themen 13
Z wie kann ich überladene Konstruktoren "umleiten"? Java Basics - Anfänger-Themen 11
D Blöde(?) Frage zu Konstruktoren und set-Methoden Java Basics - Anfänger-Themen 3
G Interface und Konstruktoren Java Basics - Anfänger-Themen 3
G Frage zu Konstruktoren Java Basics - Anfänger-Themen 12
G Verständnisfrage zu Konstruktoren Java Basics - Anfänger-Themen 5
G Konstruktoren Java Basics - Anfänger-Themen 9
A Konstruktoren überladen Java Basics - Anfänger-Themen 9
H Konstruktoren + Hilfe Java Basics - Anfänger-Themen 12
H Konstruktoren werden nie geerbt Java Basics - Anfänger-Themen 3
O Vor-/Nachteile/Unterschiede von Konstruktoren und Methoden Java Basics - Anfänger-Themen 3
Bierhumpen 2 Konstruktoren Java Basics - Anfänger-Themen 15
T mehrere Konstruktoren für eine Klasse Java Basics - Anfänger-Themen 7
J Instantvariablen und Konstruktoren Java Basics - Anfänger-Themen 2
Y Vererben - Konstruktoren Java Basics - Anfänger-Themen 2
Z übergabe von string[] an konstruktoren oder methoden Java Basics - Anfänger-Themen 3
L Klassen, Vererbung und Konstruktoren Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben