Verständnisfragen zu dem Thema Objekten

julia_76

Mitglied
Hallo,

ich hätte eine verständnissfrage zu dem Thema Objekten. Ich habe eine Klasse "Auto". In diese Klasse schreibe ich Attribute und Methoden. Erst wenn ich die klasse mit dem new Operator aufrufe habe ich ein Objekt erzeugt und Initialisiert.

Über dieses Objekt kann ich jetzt mit dem . operator auf die Variablen und die Methoden zugreifen.

Ist dies bis zu dem punkt korrekt?

Jetzt hätee ich ein paar fragen zu dem Thema Objekte.

1. Wo wird das objekt initialisiert? Das objekt soll in der klasse "Auto" sein. Wird es dann auch in der klasse "Auto" erzeugt u. Initialisiert? oder muss ich alle objekte in der main Erzeugen u. Initialisieren.

2 Ist es möglich/sinnvoll mehrer Objekte pro klasse zu erzeugen.


Gruß.
 
Bis zu den Fragen hast Du eigentlich alles super erklärt. Aber die Fragen ergeben dann leider überhaupt keinen Sinn.

Deine Klasse Auto ist die Objectkbeschreibung. Erzeugst du davon mit new() eine Instanz, dann ist dieses das Object. Was das jetzt mit in der Klasse und ausserhalb der Klasse etc zu tun hat, sorry ka.

Gruß

Claus
 
Ist dies bis zu dem punkt korrekt?
Ja.
1. Wo wird das objekt initialisiert? Das objekt soll in der klasse "Auto" sein. Wird es dann auch in der klasse "Auto" erzeugt u. Initialisiert? oder muss ich alle objekte in der main Erzeugen u. Initialisieren.
Java:
Auto auto; //deklarieren einer Variable auto vom Typ Auto
auto = new Auto(); // initalisieren eines neuen Objektes
Nein, in der Main beginnt man üblicherweise^^... die anderen Objekte initialisierst du bspw. im Konstruktor der Klasse Auto, oder in irgendwelchen Methoden die durch den Konstruktor aufgerufen werden.
 
Erst einmal danke.

ich denke das Grundprinzip ist mir klar. Aber ich verstehe einfach das handling von Objekten nicht oder noch nicht.

1. Ein Objekt erzeuge ich, immer dann wenn ich es benötige? Wie lange lebt dieses Objekt?
2. Ich kann also beliebig viele objekte erstellen und über eine Methode mit unterschiedlichen werten befüllen?
3. Muss ich für ein Objekt immer einen Kostruktor erstellen.

Gruß,
 
1. Ja du erstellst dir es, wann immer du es benötigst
1b. Bis keine Zeiger mehr auf das Objekt referenzieren und der GarbageCollector es geholt hat

2. Ja so kannst du es machen (das heißt übrigens setter-Methoden die Objektattribute überschreibt), oder du übergibst Werte mit dem Konstruktor. Oder beides zusammen.

3. Nein musst du nicht, Java hat einen leeren Standardkonstruktor, wenn nichts initialisiert werden muss.
 
1. solange mindestens eine Referenz auf dieses Objekt zeig.
2. klar, wo und wie oft du das willst...ob das sinnig ist, ist aber eine andere Frage.
3. nein, aber java erzeugt immer einen Standardkonsturktor ohne Parameter.
 
Eine Klasse ist ein Bauplan für Objekte diesen Typs.
Objekte sind gemäß dem Bauplan erzeugte, konkret vorhandene Dinge.

Probier' mal, dich in den Bauplan eines VW Golf zu setzen und darin auf der Autobahn einen Laster zu überholen...

"Werden Objekte in der Klasse erzeugt?" - Soviel ich weis, wird ein (konkreter) VW Golf (mit Fahrgestellnummer xyz) nicht in seinem Bauplan erstellt, sondern in einer Fabrik (bei uns: ein Objekt wird von der JVM erstellt).

Wie viele VW Golf kann man erstellen?
Soviele wie Platz auf der Straße ist. (So viele Objekte, wie Platz im Ram ist ~ siehe auch Java Heap Space).
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben