Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Unda
Člen
Avatar
Unda:4.7.2018 12:19

Zdravím vysvětlil by mi někdo prosím stručně kdy je dobré dělat atributy statické a kdy je lepší se tomu vyhnout?
Máme na škole učitele, který si to tam dělá jak chce a není ani schopný říct proč zrovna teď to má statické či nikoli :(, Děkuju :)

př.

private static final Seznam seznam;
private final Seznam seznam;
 
Odpovědět
4.7.2018 12:19
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:4.7.2018 13:13

Podstata statických atributů a metod je hlavně v tom, že je můžeš volat, aniž bys měl vytvořenou instanci dané třídy. Když bys to chtěl říct hodně polopatě, tak největší účel těchto metod/atributů je hlavně v tom, že ještě před tím, než nějakou instanci vytvoříš, tak nejdřív nastavíš potřebné parametry.
Příklady: Máš třídu dítě. Ale nevíš, s jakým pohlavím se ti narodí. Tak vytvoříš statickou metodu static void setSex(String) a tu zavoláš ještě před tím, než vytvoříš nové dítě. Ale fakan už bude mít po vytvoření (narození) nastavené pohlaví:)

Nebo máš naprosto praktický příklad. Potřebuješ dejme tomu evidovat, kolik instancí máš vytvořených. Tak ve statické proměnné budeš uchovávat množství instancí. A každý konstruktor, který vytvoří novou instanci, tak ten počet zvýší o 1.

A nebo taky a to nejspíš používáš denně - main metoda. Toto je i důvod, proč je main metoda statická. Protože se volá, aniž by existovala nějaká instance. Proto je tam to slovíčko static.

PS: můžeš si klidně překládat, že když je něco static, tak to prostě patří třídě a můžeš to používat nehledě na tom, jestli máš nebo nemáš objekt;)
Proto se taky někdy říká třídní proměnná/třídní metoda a instanční proměnná/instanční metoda.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
4.7.2018 13:13
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.