Verwendung von Konstruktor

guguli

Bekanntes Mitglied
Hallo zusammen,

ich hab folendes Vorhaben:
ich will aus der Kosntruktor einer Klasse die Konstruktor einer anderen Klasse aufrufen, in der Methoden in der klasse aufgerufen werden.
Aber so erstelle ich ja immer ein Objekt das ich eigentlich nicht benutze.
Was ist der schönere Weg um sowas zu erstllen.

Code :
Java:
public class A {
    public A(Set<Activity> tSelectedActivitiesSet, Activity activityInNode, Activity activityOutNode) {
            B b= new B(tSelectedActivitiesSet, activityInNode, activityOutNode);
    }
}

public class B {
    public B() {
        methode1();
        methode2();
    }
}
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Warum stehen diese Methoden überhaupt in Klasse B, wenn du die Methoden aus Klasse A ausgeführt haben willst? Und du du die Klasse B anscheinend nur dafür brauchst?
Natürlich könntest du die Objekte der Klasse "B" cachen und darauf zurückgreifen wenn du eines brauchst
 

guguli

Bekanntes Mitglied
Also klasse B ist eine Helper class, sie behält viele Methoden die alle in einer Reihnfolge aufegrufen werden müssen. Ich wollte nicht dass meine Klasse A deswegen zu groß wird.
 

Saheeda

Top Contributor
@guguli

Von wie vielen Zeilen Code reden wir?

Wie eng ist die Beziehung zwischen Klasse A und den Hilfsmethoden? Gibt es einen logischen/semantischen Zusammenhang? Dann würde ich diese auch nicht in eine Hilfsklasse auslagern. Kannst du vielleicht ein konkreteres Beispiel geben als A und B?

Wenn ich z.B. eine Klasse "Memory" habe, landen Methoden wie "save", "reset", "load" o.ä. alle in dieser Klasse. Wenn sie dadurch etwas größer wird, finde ich das in dem Fall auch nicht so schlimm, da es ja alles logisch zusammen hängt.

Wenn es dann auch noch auf die richtige Reihenfolge ankommt, würde ich eine "start" - Methode machen, welche public ist und die Untermethoden aufruft, die restlichen kleinen Methoden private. So bleibt gesichert, dass alle Methoden immer in der richtigen Reihenfolge ausgeführt werden.
 

buggy84

Bekanntes Mitglied
Auch wenn viele Informationen fehlen, Saheeda hat das bereits umrissen, wäre eventuell "static" ein Zauberwort für dich. Das kommt aber auf den Sinn und Zweck deiner Helferklasse an und da wir ja den Kontext zu deinem Programm nicht kennen, könnte "static" auch durchaus nicht in Frage kommen. Aber man prüfe.

edit: Liege ich falsch, ober würde ein nicht (mehr) benutztes Object nicht sowieso dem Garbage Collector zum Opfer fallen!?
 

stg

Top Contributor
Mal ungeachtet der bisherigen Anmerkungen:

Ein Konstruktor dient dazu ein Objekt zu erstellen und sonst nichts. Instanzmethoden sollten (wenn überhaupt) nur sehr eingeschränkt genutzt werden (Überschreibbare Methoden sollten dort z.B. gar nicht aufgerufen werden usw..).
Auch den Aufruf des zweiten Konstruktors im ersten sehe ich bereits kritisch.

Wenn die Konstruktion deines Objekts so kompliziert ist, dann bediene dich einer Factory zum Erstellen und schränke den Konstruktor-Zugriff ein. (Oder überdenke dein Klassen-Design nochmal. In den meisten Fällen gibt es einfachere Lösungen. Möglicherweise willst du schlicht zu viel "auf einmal" machen)
 

guguli

Bekanntes Mitglied
-Ich find die Idee mit einer Start methode anzufangen ist es schön.
-Also die Klasse A erstellt ein Command, das später ausgeführt wird aber erst wenn alle in B vorhandene Methoden abgearbeitet sind.
-Ich weiss nicht in wie weit static dann mir hilfreich sein kann?!?!?

THX
 

JStein52

Top Contributor
Nach dem bisher gesagten wäre "static" für die Helper-Klasse angebracht. Dann brauchst du keine Instanz von B zu erzeugen. Und dann noch mit der o.g. start(....) - Methode in B kombiniert wäre alles gut. Wenn sich dann z.B. mal die Anzahl oder Reihenfolge der Aufrufe in B ändern sollte ist die Klasse A davon nicht betroffen. (So wie du das mit dem Konstruktor wohl gedacht hattest, was aber wie stg dir erklärt hat etwas "pfui" ist.)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Datentypen Array - Verwendung im Konstruktor Java Basics - Anfänger-Themen 8
T Verwendung jna Java Basics - Anfänger-Themen 15
L Zufälligen Zahlencode, ohne mehrfacher Verwendung einer Ziffer Java Basics - Anfänger-Themen 15
Kirby.exe Frage zur Verwendung von Interfaces Java Basics - Anfänger-Themen 6
S Exception bei Verwendung von LocalDate Java Basics - Anfänger-Themen 19
S Try-Catch in Verwendung einer while Schleife Java Basics - Anfänger-Themen 2
A OOP Richtige Verwendung von ArrayList und equals Java Basics - Anfänger-Themen 24
kilopack15 Verständnisfrage zur Verwendung von notify() bei Threads Java Basics - Anfänger-Themen 2
b1ck Scanner schließen, erneute Verwendung Java Basics - Anfänger-Themen 12
H Datentypen Fehler bei Verwendung von enum Java Basics - Anfänger-Themen 9
A Verwendung von Interfaces Java Basics - Anfänger-Themen 7
G Variablen Verwendung von Variablen in anderer Klasse Java Basics - Anfänger-Themen 6
M Verwendung von System.exit(0) problematisch? Java Basics - Anfänger-Themen 1
D native Methoden, Verwendung? Java Basics - Anfänger-Themen 8
fLooojava kleines Projekt - Verwendung von Youtube Java Basics - Anfänger-Themen 22
X Array Ausgabe bei Verwendung von 2 Schleifen erklären Java Basics - Anfänger-Themen 8
G verwendung von regex Java Basics - Anfänger-Themen 3
K Problem bei der Verwendung von Gregorian Calender Java Basics - Anfänger-Themen 3
T NullPointerException bei Verwendung einer Klasse einer anderen .jar datei Java Basics - Anfänger-Themen 3
B Wie wichtig ist Verwendung von StringBuffer in Schleifen? Java Basics - Anfänger-Themen 10
B Verwendung von Arrays Java Basics - Anfänger-Themen 2
U Verwendung von Interface Java Basics - Anfänger-Themen 33
A Methoden Verwendung von crypt? Java Basics - Anfänger-Themen 2
D Muss ich eigentlich immer auf die Verwendung des richtigen Datentyps achten? Java Basics - Anfänger-Themen 7
D reg Exp, verwendung des endezeichen "$" Java Basics - Anfänger-Themen 5
C Verwendung von Schleifen? Java Basics - Anfänger-Themen 18
C Verwendung von primitiven Datentypen Java Basics - Anfänger-Themen 8
J Problem mit NullPointerException bei Verwendung eines Arrays Java Basics - Anfänger-Themen 6
D Frage zur Verwendung einer Schnittstelle Java Basics - Anfänger-Themen 4
A Verwendung von abstrakten Klassen Java Basics - Anfänger-Themen 17
D Verwendung der Klasse Map Java Basics - Anfänger-Themen 9
C Verwendung von Matrizen in einer Schleife Java Basics - Anfänger-Themen 5
F Umlaute eines Strings entfernen (Verwendung von this?) Java Basics - Anfänger-Themen 2
Daniel_L Verwendung von try und catch bei exceptions Java Basics - Anfänger-Themen 7
I Verwendung von Constant Field Values Java Basics - Anfänger-Themen 4
J Verwendung von eigenen Klassen in JSP Java Basics - Anfänger-Themen 2
G try. catch Verwendung Java Basics - Anfänger-Themen 11
Z Beispiel Würfelspiel mit Verwendung von Feldern Java Basics - Anfänger-Themen 7
H Verwendung lokaler Einstellungen Java Basics - Anfänger-Themen 4
G getName, substring Verwendung Java Basics - Anfänger-Themen 3
I Fehler bei Verwendung von substring Java Basics - Anfänger-Themen 4
S Verwendung von Super Java Basics - Anfänger-Themen 7
M Verwendung von Robot... wie? Java Basics - Anfänger-Themen 6
M Verwendung von "this" Java Basics - Anfänger-Themen 2
U Liste importieren und für weitere Verwendung sichern Java Basics - Anfänger-Themen 4
feuervogel Integral unter Verwendung der Java-Bibliothek berechnen Java Basics - Anfänger-Themen 10
frau-u Probleme mit richtiger Verwendung von FileInputStream Java Basics - Anfänger-Themen 2
S valueOf() vs. toString() Verwendung??? Java Basics - Anfänger-Themen 13
A Kurze Frage zur Verwendung von this Java Basics - Anfänger-Themen 9
S Verwendung bitweiser Operatoren Java Basics - Anfänger-Themen 6
F Verwendung von this in statischen Kontext nicht möglich Java Basics - Anfänger-Themen 8
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
T Schlüsselworte Schlüsselwort this im Konstruktor Java Basics - Anfänger-Themen 3
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
J Konstruktor Java Basics - Anfänger-Themen 18
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
G Welche Attribute kommen in den Konstruktor? Java Basics - Anfänger-Themen 5
M wird der Konstruktor nicht als 1. ausgeführt? Java Basics - Anfänger-Themen 13
G Konstruktor und update Java Basics - Anfänger-Themen 4
K Kopier-Konstruktor Java Basics - Anfänger-Themen 6
S Default Konstruktor Java Basics - Anfänger-Themen 7
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
J Vier gewinnt in Java,Spieler Konstruktor Java Basics - Anfänger-Themen 8
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
Zeppi OOP Bruch kürzen im Konstruktor Java Basics - Anfänger-Themen 2
HorstSchröder Konstruktor mit Initialwert Java Basics - Anfänger-Themen 1
C Konstruktor ab serialisiertem Objekt Java Basics - Anfänger-Themen 4
J Input/Output Konstruktor ergänzen, der zur Datei mit einem Objekt passt Java Basics - Anfänger-Themen 0
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
B Konstruktor mit Array als Parameter Java Basics - Anfänger-Themen 3
G Variablen Array Länge über den Konstruktor definieren Java Basics - Anfänger-Themen 4
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
C Interface und Konstruktor Java Basics - Anfänger-Themen 1
H Generische Konstruktor Java Basics - Anfänger-Themen 12
MiMa Seltsames Verhalten im Konstruktor Java Basics - Anfänger-Themen 6
S Konstruktor passt nicht zum Rest Java Basics - Anfänger-Themen 11
C Unbekannter "Konstruktor"?? Java Basics - Anfänger-Themen 10
W OOP Warenlager mit Array(Konstruktor, Methoden) Java Basics - Anfänger-Themen 39
R Objekt in Konstruktor ist nicht zulässig Java Basics - Anfänger-Themen 5
A Mit einer Methode den Konstruktor aufrufen? Java Basics - Anfänger-Themen 2
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
K Konstruktor für ein Objekt mit Zugriffsmethoden Java Basics - Anfänger-Themen 7
H Unterschied Konstruktor und Klassenname x = new Klassenname; Java Basics - Anfänger-Themen 3
B Klassen Array Parameter im Konstruktor? Java Basics - Anfänger-Themen 4
E Konstruktor mit Methode Java Basics - Anfänger-Themen 7
E ArithmeticException im Konstruktor Java Basics - Anfänger-Themen 4
S Konstruktor, Objekte Java Basics - Anfänger-Themen 4
F Konstruktor richtig implementiert? Frage zu Benutzereingaben... Java Basics - Anfänger-Themen 9
W Typecastin im Konstruktor? Java Basics - Anfänger-Themen 2
A Variablen Variablenwert über Konstruktor ändern Java Basics - Anfänger-Themen 3
F Arrays im Konstruktor Java Basics - Anfänger-Themen 5
C Konstruktor mit und ohne Parameterliste Java Basics - Anfänger-Themen 13
L Instanzvariablen, Veerbung, Konstruktor Java Basics - Anfänger-Themen 32
E Best Practice Konstruktor mit bestehender Intanz der gleichen Klasse aufrufen Java Basics - Anfänger-Themen 4
E Plausibilitätsprüfung in dem Konstruktor mit Ausnahmebehandlung Java Basics - Anfänger-Themen 8
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0
D Compiler-Fehler Konstruktor von Superklasse übernehmen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben