Pointer oder Reference?

  • Themenstarter Themenstarter frager
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
F

frager

Gast
Code:
Object o = null;
Ist das jetzt ein Pointer oder eine Reference?
 
definiere beide Begriffe, vor allem den ersten, dann kann man die Frage beantworten,

in Java gibts nur Referenzen, also kannst du nun raten, was es ist 😉
 
Pointer wie in C, die man beliebig durch den RAM schieben kann etc. gibt es in Java gar nicht.
 
o ist hier eine Referenz auf ein Objekt vom Typ Object, die explizit mit null initialisiert wurde.
Die Initialisierung mit null ist eigentlich nicht notwendig, da Objekte implizit mit null initialisiert werden, wenn ihnen kein anderer Wert zugewiesen wurde.
 
SlaterB hat gesagt.:
definiere beide Begriffe, vor allem den ersten, dann kann man die Frage beantworten
Das ist ja die Frage.

In C++ können Referenzen z.B. nicht auf null zeigen, Pointer schon.
Und warum heißt es NullPointerException?
 
Wie wär's mir "Refointer" oder "Poiference" :lol: Es heißt zwar NullPointerException, aber an anderer Stelle ist von References die Rede (WeakReference z.B.). Liegt der Frage ein konkretes Problem zugrunde (das über das 'Problem, Übungsaufgabe 4a) lösen zu müssen' hinausgeht) oder ist das eine rein akademische Diskussion?

Ich würde deine Frage jedenfalls mit "Ja" beantworten.
 
eine NullPointerException fliegt dann, wenn versucht wird auf felder oder methoden von "null" zuzugreifen. dieser zugriff ist absolut identisch zu pointer zugriffen in c++ ( foo->bar ), deshalb der ausdruck NullPointer.

die einzige ausnahme zu dieser regel ist, dass eine NPE auch dann fliegt, wenn "null" als exception geworfen wird.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben