Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

9.2.4 Luokka (class) ja olio (object)

Luokka on tavallaan "piparkakkumuotti" kaikille samankaltaisille "olioille". Luokalla ei sinänsä tee mitään (ellei siinä ole static-aliohjelmia), ellei siitä luo luokkaa edustavaa oliota.

	    Aika a1 = new Aika(12,15);

Javan "olio-muuttujathan" eivät olleet mitään muuta kuin pelkkiä viitteitä keossa sijaitseviin varsinaisiin olioihin. new -operaattori luo kekoon uuden olion ja palauttaa viitteen tähän olioon.

Pelkkä olion luominen ilman viitteen sijoittamista mihinkään on useimmiten hyödytöntä

	   new Aika(12,15);  // Tähän olioon ei päästä käsiksi	:-(

Kerran luodun olion viite voidaan luonnollisesti sijoittaa toiseen viitteeseen:

	a2 = a1;  // molemmat viitteet viittaavat samaan olioon.

Kun olioon ei ole enää yhtään viitettä, muuttuu olio Javassa roskaksi ja muistinsiivous (roskienkeruu, garbage collection, gc) vapauttaa ajallaan olion viemän muistitilan.

	Aika a1 = new Aika(12,15);
	...
	a1 = null;    // a1 ei viittaa enää olioon => olio muuttuu roskaksi
	
	tai
	
	{ // lohkon alku, jonka sisällä viite esitelty
	  Aika a1 = new Aika(12,15);
	  ...
	}  // Viite a1 lakkaa olemasta => olio muuttuu roskaksi


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys