Javan olioilla on yksi erityinen metodi: muodostaja (konstruktori, rakentaja, constructor), jota kutsutaan muuttujan syntyessä. Muodostajan tehtävä on alustaa olion tila ja luoda mahdollisesti tarvittavat dynaamiset muistialueet. Näin voidaan järjestää se, että olion tila on aina tunnettu olion syntyessä.
Joissakin oliokielissä konstruktori ilmoitetaan omalla avainsanallaan. Javassa muodostaja on metodi, jolla on sama nimi kuin luokalla. Muodostajia voi olla useitakin. Muodostaja on aina tyypitön, siis ei edes void-tyyppiä.
public Aika(int h,int m) { // Muodostaja this.h = h; this.m = m; }
Esimerkissämme muodostaja on esitelty 2-parametriseksi ja sitä "kutsutaan" olion luonnin yhteydessä:
Aika a1 = new Aika(12,15);