Konstruktor mit Referenzdatentypen

timmec

Mitglied
Hey,

bin absoluter Anfänger und habe die Aufgabe bekommen Konstruktoren und Methoden zu programmieren, die die Form public DateTime(Date date, Time time) haben sollen. Ich habe in den verschiedenen Klassen auch normale primitive Datentypen, aber die sollen ja nicht in diesen Konstruktor rein?

Ein anderer zu programmierender Konstruktor hat die Form public Appointment(String name, DateTime from, DateTime to).

Mir geht es hier um die Parameterübergabe und was diese in den Beispielen bewirkt. Vielleicht ein Beispiel wie so ein Konstruktor aussieht wäre hilfreich. Danke
 

Kababär

Top Contributor
Beim Erstellen eines Objektes rufst du den Standardkonstruktor auf, bspw.
Code:
String str = new String();
.
Der String ist dann nicht null, aber empty.
Code:
String str2 = "";
If(str.equals(str)) { System.out.println("Strings haben den gleichen Wert);};

Heißt es gibt also mehrere Konstruktoren für eine Klasse. Den Standardkonstruktor gibt es immer, es sei denn man schreibt einen Konstruktor mit Parametern, dann muss man zusätzlich den parameterlosen Konstruktor deklarieren (wenn man den parameterlosen Konstruktor überhaupt benötigt).

In deinem Fall könnte es so aussehen:
Code:
public class Appointment{

    private Date from;
    private Date to;

    public Appointment(Date f, Date t){
        this.from = f;
        this.to = t;
    }
}

Hiermit kannst du irgendwo dann Folgendes machen:
Code:
Appointment appoint = new Appointment(date1,date2);
Die zwei Daten sind nun in dem Objekt gespeichert.
Willst du diese wieder haben, benutzt du am besten Getter (also erweiterst die Klasse Appointment um zwei Getter [für jedes Attribut ein Getter]).
Vorteil davon ist, dass du jetzt verschiedene Appointment Objekte erstellen kannst, die komplett unabhängig voneinander sind.
Der Konstruktor mit dem String kannst du ebenfalls verwenden (zuerst wie oben erstellen). Dann hast du bei der Iniialisierung deines Appointment Objekts die frei Auswahl, welchen Konstruktor du nimmst (es müssen Reihenfolge und Datentyp passen!).
 

Joose

Top Contributor
Der Konstruktor schaut ganz normal aus, egal ob du Strings, primitive Datentypen oder sonstige Typen übergibst.

Java:
public class DateTime {
    private Date date;
    private Time time;

    public DateTime(Date date, Time time) {
        this.date = date;
        this.time = time;
    }

.....
}

Ich habe in den verschiedenen Klassen auch normale primitive Datentypen, aber die sollen ja nicht in diesen Konstruktor rein?
Wenn es sich um eine Aufgabe handelt solltest du vielleicht die Angabe posten und den Code den du dazu bekommen hast.
Ohne genaue Angabe bzw. Code lässt sich schwer sagen was das Ziel ist bzw. wie es erreicht werden kann .....

Mir geht es hier um die Parameterübergabe und was diese in den Beispielen bewirkt.
In welchen Beispielen? Was sollten die Parameter bewirken?
 

timmec

Mitglied
Ich habe es anfangs schlecht formuliert. Dass man Konstruktoren auch überladen kann war mir bewusst, aber ich habe Probleme den Datentyp von Time bzw Date zu verstehen und wie dieser initialisiert wird und was auf die Initialisierung folgt.
zB Time time. time ist hier nur der Variablenname wenn ich es richtig verstanden habe, aber wofür steht Time.
Meine vorgegebene Time Klasse sieht so aus
Code:
public final class Time {
   
    private final int hour   = 0; // Placeholder value
    private final int minute = 0; // Placeholder value
    private final int second = 0; // Placeholder value
}
 

Kababär

Top Contributor
Aso mein Fehler. Iniialisiert wird dieser wie alle anderen Konstruktoren. Nur kannst/solltest du im Konstruktor Bedingungen prüfen wie "hour<=24 && minute <= 60 ..." bevor du die Werte in deine Klassenattribute übernimmst.

Time steht für eine Klasse. Von einer Klasse kann man ein Objekt erstellen und mit diesem Objekt kannst du nun Daten speichern und irgendwann wieder holen oder Operationen/Funktionen/Methoden ausführen, die vorher noch implementiert werden müssen. So könntest du beispielsweise zwei Time-Objekte vergleichen, Differenzen bilden oder eine Stoppuhr simulieren.
Du müsstest also in der Klasse, in der du Time benutzen willst
Code:
Time time = new Time(10,20,30);
aufrufen. time ist somit ein Objekt vom Datentyp Time, korrekt.

Falls meine Antwort schon wieder daneben war, lass es mich wissen.
 
Zuletzt bearbeitet:

Joose

Top Contributor
Ergänzend dazu: Kannst du dann Objekte vom Type Time ganz normal als Parameter übergeben.

Java:
Date d = new Date(2010, 8, 3);
Time t = new Time(10, 20, 30);
DateTime dt = new DateTime(d, t);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
P Counter im Konstruktor Java Basics - Anfänger-Themen 11
J toString-Methode in Verbindung mit varArgs-Konstruktor Java Basics - Anfänger-Themen 18
I Einträge in den Konstruktor Java Basics - Anfänger-Themen 3
Aprendiendo [JAVA-Syntax] (int... variable) bei einem Konstruktor Java Basics - Anfänger-Themen 8
J Superklassen Konstruktor Verständnisfrage Java Basics - Anfänger-Themen 1
G Int-Array im Konstruktor Parameter Java Basics - Anfänger-Themen 37
T Datentypen Warum mit Konstruktor Objektvariablen initalisieren? Java Basics - Anfänger-Themen 19
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
P Konstruktor. Java Basics - Anfänger-Themen 4
D Best Practice Objekt automatisch im Konstruktor füllen? Java Basics - Anfänger-Themen 9
D Objekt oder Konstruktor Java Basics - Anfänger-Themen 2
F Java default Konstruktor Java Basics - Anfänger-Themen 1
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
H Klassen Konstruktor Parameter als Instanzvariablen zwischen speichern... Java Basics - Anfänger-Themen 11
T setter im Konstruktor einbauen? Java Basics - Anfänger-Themen 8
R ArrayList im Konstruktor. Java Basics - Anfänger-Themen 4
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
S Variable, die im Konstruktor gesetzt wird, wird nicht gefunden vom Compiler. Java Basics - Anfänger-Themen 4
C Generic im Konstruktor Java Basics - Anfänger-Themen 1
F Privater Konstruktor und statische Methoden Java Basics - Anfänger-Themen 4
W Konstruktor von FileInputStream nicht gefunden Java Basics - Anfänger-Themen 18
B Methoden Konstruktor im Konstruktor aufrufen Java Basics - Anfänger-Themen 2
N Aufgabe: Pizza Konstruktor mit mehreren beliebigen Durchmesser/Preiskombinationen Java Basics - Anfänger-Themen 8
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
K ArrayList in Konstruktor - wie späterer Zugriff Java Basics - Anfänger-Themen 2
G Verwendung von Konstruktor Java Basics - Anfänger-Themen 8
X Übergabeparameter Konstruktor (File) Java Basics - Anfänger-Themen 13
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
C Konstruktor in Abstrakten Klassen Java Basics - Anfänger-Themen 4
B Konstruktor Problem Java Basics - Anfänger-Themen 8
Joew0815 konstruktor und damit erstellte objekte Java Basics - Anfänger-Themen 1
K Hashtable mit eigenen Konstruktor Java Basics - Anfänger-Themen 2
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
H Fehler im Konstruktor abfangen Java Basics - Anfänger-Themen 10
J Konstruktor Problem bei Vererbung Java Basics - Anfänger-Themen 1
I Java Eingabe aus einer anderen Klasse in eine andere an Konstruktor übergeben Java Basics - Anfänger-Themen 4
O Konstruktor und Default Konstruktor Java Basics - Anfänger-Themen 7
S Kapselung Objekt bei Übergabe an Konstruktor nicht initalisiert Java Basics - Anfänger-Themen 3
I Vererbung Frage zum Konstruktor Java Basics - Anfänger-Themen 5
Y Konstruktor - Setter/Getter Java Basics - Anfänger-Themen 3
P Konstruktor Java Basics - Anfänger-Themen 4
E Initialisierung von Attributen und Konstruktor Java Basics - Anfänger-Themen 0
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
M Objekt Array an konstruktor übergeben und Initialisieren Java Basics - Anfänger-Themen 1
llabusch Vererbung Super Konstruktor Java Basics - Anfänger-Themen 5
P Erste Schritte WindowBuilder erstellt Konstruktor wie zugreifen Java Basics - Anfänger-Themen 5
M Parameter von Konstruktor, der Superklassen-Konstruktor aufruft Java Basics - Anfänger-Themen 2
V Was soll alles in den Konstruktor? Java Basics - Anfänger-Themen 3
J Objektwerte addieren / Konstruktor Java Basics - Anfänger-Themen 19
J Konstruktor implementieren, zahl 0 repräsentieren Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben