Nie ma sposobu na uniknięcie tworzenia obiektów w Javie. Tworzenie obiektów w Javie ze względu na strategie alokacji pamięci jest w większości przypadków szybsze niż C++ i ze względów praktycznych w porównaniu do wszystkiego innego w JVM można uznać za "wolne".
Jak można uniknąć tworzenia obiektów w Javie?
W javie możemy uniknąć tworzenia obiektów na 2 sposoby:
- Uczynienie klasy jako abstrakcyjnej, dzięki czemu unikniemy niepotrzebnego tworzenia obiektów z tą samą klasą i inną klasą.
- Uczynienie konstruktora jako prywatnego (wzorzec projektowy Singleton), dzięki czemu możemy uniknąć tworzenia obiektu w innej klasie, ale możemy utworzyć obiekt w klasie nadrzędnej.
Czy tworzenie obiektów w Javie jest drogie?
Każde tworzenie obiektu jest w przybliżeniu tak drogie jak malloc w C lub nowość w C++, a nie ma łatwego sposobu na tworzenie wielu obiektów razem, więc nie możesz skorzystać wydajności, jaką uzyskasz dzięki alokacji zbiorczej.
Dlaczego musimy tworzyć obiekt w Javie?
Obiekty są wymagane w obiektach OOP ponieważ można je utworzyć w celu wywołania funkcji niestatycznych, które nie są obecne w metodzie głównej, ale są obecne w klasie, a także dostarczają nazwę do przestrzeni, który jest używany do przechowywania danych.
Czy możemy stworzyć obiekt bez nowego w Javie?
Możesz stworzyć obiekt bez nowego poprzez: Reflection/newInstance, clone and(de)serializacja.