Tworzenie obiektów własną statyczną metodą

0

Problem z cyklu egzystencjonalnych.

Po co tworzyć klasy dające się zainicjować poprzez metodą statyczna: MyClass.of(args) zamiast new MyClass(args).

3

Np. cache. Np. klasa Integer ma cache na małe wartości (do 128) bo są często używane i w ten sposób drastycznie obniża się potrzebną pamięć. Analogicznie klasa String ma wewnętrzny cache dla wartości.

4

Konstruktor nie ma nazwy, metoda statyczna ma i dodaje to kontekst np masz Foo.from(), Foo.inMemory() Foo.fromX() itp.
Drugie, możesz cachować duże obiekty
Trzecie, możesz zwracać podklasy danej klasy, a nie koniecznie obiekt danej klasy. Możesz nawet wystawiać jedynie interface publiczny i z metod statycznych zwracać konkretne implementacje o których klient nawet nie wie. A im mniej wie, tym lepiej śpi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1