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. -
obj
lagras 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