En referenstyp är en datatyp som bygger på en klass snarare än på en av de primitiva typerna som är inbyggda i Java-språket. Klassen kan vara en klass som tillhandahålls som en del av Java API-klassbiblioteket eller en klass som du skriver själv.
Hur som helst skapar du hur mycket minne som objektet behöver för att lagra objektet när du skapar ett objekt från en klass. Då, om du tilldelar objektet till en variabel, tilldelas variabeln en referens till objektet, inte själva objektet. Denna referens är adressen till minnesplatsen där objektet är lagrat.
För att deklarera en variabel med en referenstyp, listar du bara klassnamnet som datatyp. Exempelvis definierar följande definition en variabel som kan referera till objekt som skapats från en klass som heter Ball:
Ball b;
Du måste ange ett importdeklaration för att berätta för Java var du ska hitta klassen.
För att skapa en ny instans av ett objekt från en klass använder du det nya sökordet tillsammans med klassnamnet:
Boll b = ny Boll ();
Ett av nyckelbegreppen i arbetet med referenstyper är att en variabel av en viss typ inte innehåller ett objekt av den typen. Istället innehåller den en referens till ett objekt av rätt typ. En viktig bieffekt är att två variabler kan referera till samma objekt.
Tänk på följande uttalanden:
Ball b1 = new Ball (); Boll b2 = b1;
Här hänvisar både b1 och b2 till samma förekomst av bollklassen.