Objektide loomist Javas ei saa kuidagi vältida. Objektide loomine Javas on tänu oma mälujaotusstrateegiatele enamikul juhtudel kiirem kui C++ ja praktilistel eesmärkidel võib võrreldes kõige muuga JVM-is pidada "tasuta".
Millised on võimalused Javas objektide loomise vältimiseks?
Javas saame objektide loomist vältida kahel viisil:
- Muuda klass abstraktseks, et saaksime vältida tarbetut objektide loomist samas klassis ja teises klassis.
- Konstruktori muutmine privaatseks (Singletoni kujundusmuster), et saaksime vältida objektide loomist teises klassis, kuid saame luua objekti emaklassis.
Kas objektide loomine on Javas kallis?
Iga objekti loomine on umbes sama kallis kui malloc C või uus C++-s ja paljude objektide koos loomiseks pole lihtsat viisi, nii et te ei saa eeliseid kasutada hulgijaotamise abil saavutatavast tõhususest.
Miks peame Javas objekti looma?
OOP-ides on objektid nõutavad sest neid saab luua mittestaatiliste funktsioonide kutsumiseks, mis ei ole põhimeetodi sees, kuid esinevad klassis ja annavad ka ruumile nime, mida kasutatakse andmete salvestamiseks.
Kas saame Java-s luua objekti ilma uueta?
Objekti saate luua ilma uueta, kasutades järgmist: Reflection/newInstance, kloonimine ja(de)serialiseerimine.