Programmieren Java: Objekt in static Methode geben?

2 Antworten

In Java können statische Methoden nur auf Klassenebene operieren und haben keinen direkten Zugriff auf Instanzvariablen oder Methoden. Wenn du versuchst, eine nicht-statische Methode wie a.gibAus() in einer statischen Methode aufzurufen, wird dies nicht funktionieren, da du auf ein spezifisches Objekt zugreifen müsstest, um die Methode auszuführen.

In Bezug auf System.out.println(a) funktioniert dies, weil die Methode System.out.println() die toString()-Methode des übergebenen Objekts aufruft. Die toString()-Methode ist in der Regel so implementiert, dass sie Informationen über das Objekt zurückgibt, z. B. den Klassennamen und gegebenenfalls einige Attributwerte.

Bei der Verwendung von Auto_.gibtAus(a) handelt es sich um eine statische Methode, die ein Objekt der Klasse Auto_ als Parameter erhält. In dieser Methode kannst du auf die Attribute des übergebenen Objekts auto zugreifen, da du ein konkretes Objekt hast, auf das du dich beziehen kannst.

Es ist wichtig zu beachten, dass eine statische Methode kein bestimmtes Objekt "besitzt" und daher keine Instanzvariablen direkt zugreifen kann. Es kann jedoch auf Instanzvariablen zugreifen, indem es auf ein konkretes Objekt verweist, das als Parameter übergeben wird.


PachamamaSquaw  04.06.2023, 04:20

Hast du diesen ganzen Text selbst verfasst/geschrieben?

0

ich gehe davon aus, dass dein konstruktor das objekt nicht richtig konstruiert und deshalb nichts geprintet wird