Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

das bedeutet, das dein Object oder deine Variable nichts enthält, also null.

Wenn du nun was mit dem Object machen willst, sagt die JVM dir mit dieser Exception, dass die Methode auf ein leeres Object nicht angewendet werden kann.

Gruß Jaraz

Geschrieben

Die Java Documentation sagt zu java.lang.NullPointerException folgendes: "Thrown when an application attempts to use null in a case where an object is required."

Das bedeutet zum Beispiel, daß Du auf ein Objekt zugreifen willst, für das Du noch keinen Konstruktor aufgerufen hast., also noch keinen Speicher reserviert hast.

Jan

Geschrieben

Der gaiusjUlius hat das Problem hier beim Stichwort Java kurz aufgezeigt.

Auszug:

MyClass myObjekt=null; // Objektreferenz, initialisiert mit Nullreferenz

myObjekt = new MyClass(); // Instantiierung und Allokation von Speicher

Referenzen müssen laut Definition initialisiert sein, bei Java geht das wohl auch wenn es NULL ist, wobei aber eigentlich eine NULL-Initialisierung jedenfalls bei C++ nicht erlaubt ist, sondern nur bei Zeigern. Von dem her halte ich das bei Java für etwas böses und eine große Fehlerquelle, weil uninitialisierte Objekte im Programm unverhersehbare Folgen haben können. Das ist auch ein Grund, warum man die Zeiger bei Java wohlwissentlich aus dem Sprachschatz gestrichen hat - allerdings mit den Null-Referenzen ist das Problem doch wieder durch die Hintertür eingeführt (meiner Meinung nach). Um wirklich sicher zu gehen müßte man in jedem Programm diese Exception abfangen. Der Name "java.lang.NullPointerException" weist aber darauf hin, daß es sich um einen Zeiger handelt und nicht um eine Referenz. Eine 0-Referenz ist also in Java ein Zeiger, wobei hierdurch klar wird, daß eine Referenz in Java auch als Zeiger mit versteckter Dereferenzierung gelöst ist (wie in C++, was ja das Streitthema im obigen Thread war). Ergebnis ist, daß wohl immer ein Unterschied zwischen einer Definition und deren Realisierung in echtem Programmcode besteht, was aber jetzt vom eigentlichen Thema abweicht.

Geschrieben

@ Crush: warum einfach wenn es auch schwer geht ;o)

aber mit deiner Erklärung hast du schon recht. Java hat nun mal für den Programmierer keine sichtbaren Zeiger, aber auf Objekte lässt sich nicht anders zugreifen, deshalb arbeitet Jave intern trotzdem mit Zeigern.

Es kann aber schon ganz schöne Tücken haben, das es in Java keine Zeiger gibt. So scheint es zumindest, wenn man von C++ kommt.

@raz:

prüfe dein Ojekt bevor du auf eine seiner Funktionen/Methoden zugreifst auf null.

Bsp:

if (ojekt != null){

objekt.funktion();

}

oder fange die Exception ab:

try{

objekt.funktion();

}

catch (java.lang.NullPointerException e){

System.out.println("Fehler in Funktion ... : " + e.getMessage());

}

Chipsy

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...