Java Language
Referensdatatyper
Sök…
Instantiera en referenstyp
Object obj = new Object(); // Note the 'new' keyword
Var:
-
Objectär en referenstyp. -
objär variabeln för att lagra den nya referensen. -
Object()är uppmaningen till en konstruktör avObject.
Vad händer:
- Utrymme i minnet tilldelas för objektet.
- Konstruktörsobjektet
Object()kallas för att initialisera det minnesutrymmet. -
objlagras iobj, så att den refererar till det nyskapade objektet.
Detta skiljer sig från primitiven:
int i = 10;
Där det verkliga värdet 10 lagras i i .
dereferencing
Dereferencing sker med . operatör:
Object obj = new Object();
String text = obj.toString(); // 'obj' is dereferenced.
Dereferencing följer minnesadressen lagrad i en referens, till den plats i minnet där det faktiska objektet finns. När ett objekt har hittats kallas den begärda metoden ( toString i detta fall).
När en referens har värdet null resulterar dereferencing i en NullPointerException :
Object obj = null;
obj.toString(); // Throws a NullpointerException when this statement is executed.
null indikerar frånvaron av ett värde, dvs att följa minnesadressen leder ingenstans. Så det finns inget objekt på vilken den begärda metoden kan kallas.
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow