Ustvarjanju predmetov v Javi se ni mogoče izogniti. Ustvarjanje objektov v Javi zaradi strategij dodeljevanja pomnilnika je v večini primerov hitrejše od C++ in se za vse praktične namene v primerjavi z vsem ostalim v JVM lahko šteje za "brezplačno".
Kateri so načini, kako se izogniti ustvarjanju predmetov v Javi?
V Javi se lahko izognemo ustvarjanju predmetov na dva načina:
- Naredimo razred kot abstrakten, da se lahko izognemo nepotrebnemu ustvarjanju predmetov v istem razredu in drugem razredu.
- Naredimo konstruktor kot zasebnega (vzorec oblikovanja enojnih), tako da se lahko izognemo ustvarjanju objektov v drugem razredu, lahko pa ustvarimo objekt v nadrejenem razredu.
Ali je ustvarjanje predmetov v Javi drago?
Vsako ustvarjanje predmeta je približno tako drago kot malloc v C ali nov v C++ in ni enostavnega načina za ustvarjanje več predmetov skupaj, zato ne morete izkoristiti prednosti učinkovitosti, ki jo dosežete z uporabo množične dodelitve.
Zakaj moramo ustvariti predmet v Javi?
Objekti so potrebni v OOP-ih ker jih je mogoče ustvariti za klic nestatične funkcije, ki ni prisotna v glavni metodi, vendar je prisotna v razredu in daje tudi ime prostoru, ki se uporablja za shranjevanje podatkov.
Ali lahko ustvarimo objekt brez novega v Javi?
Predmet lahko ustvarite brez novega prek: Reflection/newInstance, kloniranje in(de)serializacija.