Kiedy używać static?

0

Czym się kierować przy uzywaniu static? Skąd mam wiedziec ze pole czy metoda w klasie powinna być statyczna?

0

Jeśli nie korzystasz z thisa, to może być jako statyczna. :)

0

Jeżeli to coś może działać niezależnie od tego co się dzieje w danej klasie np. metody z libek matematycznych Math.Power(a,b) - wkładasz input i dostajesz output. Przy statycznych metodach nie musisz tworzyć instancji klasy.

Albo jeżeli chcesz coś współdzielić pomiędzy wszystkie instancje tej klasy.

0
Zakręcony Terrorysta napisał(a):

Skąd mam wiedziec ze pole czy metoda w klasie powinna być statyczna?

W największym skrócie: pola i metody statyczne to takie, które są wspólne dla wszystkich obiektów (wspólne w sensie, że posiadają identyczne wartości i zachowanie) danej klasy (w przypadku metod nie musisz nawet tworzyć jakiegokolwiek obiektu aby skorzystać z metody tej klasy). Generalnie rozchodzi się o oszczędzenie pamięci jaka jest alokowana dla każdego obiektu, ponieważ składowe statyczne są alokowane tylko raz.

W wolnej chwili poczytaj sobie o tym jak JVM organizuje dostępną sobie pamięć.

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