Referans veri türünde bir değişken bir nesneye veya bir diziye referans olabilir. (İleriki
derslerde anlatılacağı gibi ayrıca arayüzlere ve sınıflara da referans olabilir). Referans veri türündeki değişkenler sadece birer referans olduklarından, bunların kullanımı ilkel veri türlerinden oldukça farklıdır.
Referans türünde bir değişkenin bildirilmesi ilkel türde bir değişkenin bildirilmesiyle cok benzerdir.
TurAdi degiskenAdi
Burada,
TurAdi referans edilen varlığın türünün adıdır,
degiskenAdi
geçerli bir tanıtıcı olmalıdır.
İlkel veri türleri gibi yöntem parametreleri çağırıcı ile ilklendirilir. Üye değişkenler
null değerle ilklendirilir, yani boş bir referansla, ve bunlar daha sonra ilklendirilebilir. Fakat yerel değişkenleri kullanmadan önce açıkca ilklendirmelisiniz.
Değişkeni bildirerek sadece değişken için fakat referans verilecek varlık için değil, basitçe bir yer tutucu (bir ilgi depolama bölgesi) yaratmış olursunuz. Bu nedenle basit bir ilklendirme varlığın referansını başka bir değişkenden
= işletmenini kullanarak kopyalayabilir veya
new işletmenini kullanarak yeni bir varlık yaratılabilir ve onun referansı değişkene
= işletmeni kullanılarak geçirilebilir. Aşağıdaki örnek bu değişkenleri bildirme ve ilklendirmelerini gösterir.
BenimSinifim x = new BenimSinifim();
BenimSinifim y = x;
Bu örnekte
BenimSinif türünden
x değişkeni
BenimSinif ın bir örneği yaratılarak bildirilmiş ve ilklendirilmiştir. Varlığın bir örneğini yaratmak için
new işletmeni kullanılmıştır. Bundan sonra diğer değişken
y,
x'i kullanarak bildirilmiş ve ilklendirilmiştir. Eğer varlık
sınıf türünden ise
new işletmenini kullanarak aslında bu sınıfın yapılandırıcısını çağırmış oluyorsunuz. Yapılandırıcı nesne için gerekli kaynakları ayırır ve nesnenin bir örneğini döndürür.
Atama işletmeni = ve karşılaştırma işletmeni == ve != de ilgi türünde dağişkenlerle kullanılabilir. Fakat bu referans değişkenlerinin sadece gerçek değişkenlere referans içerdikleri unutulmamalıdır. Bu yuzden = işletmeni sadece bir varlığın referansını başka bir değişkene kopyalar, ve == ve != işletmenleri sadece referansları (içeriklerini değil) karşılaştırır ve eğer eşitlerse doğru döndürür.