Ne postoji način da se izbjegne stvaranje objekata u Javi. Stvaranje objekata u Javi zbog strategije dodjele memorije u većini je slučajeva brže od C++ i za sve praktične svrhe u usporedbi sa svim ostalim u JVM-u može se smatrati "besplatnim".
Koji su načini izbjegavanja stvaranja objekata u Javi?
U Javi možemo izbjeći stvaranje objekata na 2 načina:
- Izrada klase apstraktnom, tako da možemo izbjeći nepotrebno kreiranje objekata u istoj klasi i drugoj klasi.
- Izrada konstruktora kao privatnog (singleton design pattern), tako da možemo izbjeći stvaranje objekta u drugoj klasi, ali možemo kreirati objekt u roditeljskoj klasi.
Je li stvaranje objekata skupo u Javi?
Svako kreiranje objekta je otprilike jednako skupo kao malloc u C ili novi u C++, a ne postoji jednostavan način stvaranja mnogo objekata zajedno, tako da ne možete iskoristiti prednost učinkovitosti koju postižete korištenjem skupne dodjele.
Zašto trebamo stvoriti objekt u Javi?
Objekti su potrebni u OOP-ovima jer se mogu kreirati za pozivanje nestatičke funkcije koja nije prisutna unutar glavne metode, ali je prisutna unutar klase i također daje ime prostorukoji se koristi za pohranu podataka.
Možemo li stvoriti objekt bez novog u Javi?
Možete stvoriti objekt bez novog putem: Reflection/newInstance, kloniranje i(de)serijalizacija.