Anonyymit luokat ovat luokkia, joille luokan ohjelmoija ei ole antanut nimeä. Niitä käytetään tyypillisesti silloin, kun luokan nimeäminen on tarpeetonta, esimerkiksi silloin, kun luokka on vain toisen korkeamman superluokan pakollinen osajoukko. Anonyymien luokkien ohjelmoinnin etuna on, että ne antavat ohjelmoijalle mahdollisuuden virtaviivaistaa koodiaan erityisesti silloin, kun nimettömät luokat mahtuvat useisiin superluokkiin. Suurin haittapuoli on se, että anonyymit luokat eivät voi määritellä konstruktoreita tai tehdä niistä yksityisiä, suojattuja tai staattisia, koska nimen puute poistaa nämä mahdollisuudet.
Tietokoneohjelmoinnissa luokka on yleistetty objekti, joka voi esiintyä missä tahansa määrässä tiettyjä tapauksia. Aivan kuten termi “lentokone” kattaa laajalti kaikenlaisia yksimoottorisia lentokoneita, kaksimoottorisia lentokoneita, sotilaslentokoneita ja matkustaja -aluksia, “luokka” laskennallisesti on yleinen esine. Se on vain malli, joka voidaan täyttää tarpeen mukaan ohjelmoijien tai loppukäyttäjän tarpeiden mukaan. Esimerkiksi “polkupyörä” -luokan luominen sisältäisi todennäköisesti pyörän parametrit; toisin sanoen renkaan koko ja tyyppi, vaihteiden lukumäärä, polkupyörän merkki ja malli jne.
Ohjelmoijat käyttävät tyypillisesti nimettömiä luokkia superluokkien osajoukkoina, jotka ovat luokkia, jotka on rakennettu useista omista luokistaan. Jatkamalla edellistä esimerkkiä “polkupyörä” -luokalla, sen anonyymi alaluokka voisi olla “renkaat”, jotka sisältävät tietoja renkaan koosta, merkistä ja niin edelleen.
Tämän etuna on, että nimettömät renkaat voivat sopia yhtä hyvin “polkupyörien” tai “autojen” superluokkaan. Luomalla sen nimettömänä luokana, ohjelmoija voi tarvittaessa käyttää työään helpommin uudelleen. Tämä säästää aikaa ja kustannuksia ja helpottaa koodin ymmärtämistä.
Haittapuolena on, että ilman nimeä anonyymit luokat eivät voi käyttää samoja toimintoja kuin nimetyt luokat. Niitä ei esimerkiksi voida pitää yksityisinä, suojattuina tai rajoitettuina luokina. Lisäksi he eivät voi käyttää konstruktoreita, jotka ovat aliohjelmia, kun luokka ilmestyy ensimmäisen kerran ja alustaa luokan oletusparametreilla. Tämä joustavuuden puute on luonnollinen kompromissi nimettömän luokan yksinkertaisuudelle.