NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 11 - Statika

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Adam Bucher
Člen
Avatar
Adam Bucher:13.8.2017 15:43

Upozornil bych na část o statickém konstruktoru.

Třída může mít i statický konstruktor. Ten se vykoná někdy ve chvíli, kdy se aplikace spustí a třída se zaregistruje k použití.

Jelikož mi při vyzkoušení NetBeans nahlásil chybu, zagooglil jsem.
V Javě to takto nefunguje (v C# ano), třída statický konstruktor mít nemůže. Alternativou je však tzv. statický blok, který se ve třídě píše tímto způsobem:

static {
        // příkazy, které se provedou při spuštění programu
}
 
Odpovědět
13.8.2017 15:43
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Adam Bucher
David Hartinger:13.8.2017 16:44

Máš pravdu, opravil jsem to. Řeší se to také např. statickou inicializační metodou, která se na třídě někde na začátku zavolá.

Odpovědět
13.8.2017 16:44
New kid back on the block with a R.I.P
Avatar
Václav Houra:17.11.2017 15:40

Ono to není moc známé, ale Java má statický inicializátor (inicializační blok). Provádí se při načtení třídy do paměti.
Jsou to příkazy uvnitř dvojice složených závorek. Příkazy se mohou týkat statických atributů nestatické třídy nebo všech atributů statické třídy.
Podrobněji na:
https://kore.fi.muni.cz/…koutí_jazyka

 
Odpovědět
17.11.2017 15:40
Avatar
Marty
Člen
Avatar
Marty:11.6.2018 0:43

Před return false už není potřeba psát else?

public static boolean zvalidujHeslo(String heslo) {
        if (heslo.length() >= minimalniDelkaHesla) {
                // podrobnou logiku validace hesla vynecháme
                return true;
        }
        return false;
}
 
Odpovědět
11.6.2018 0:43
Avatar
pocitac770
Tvůrce
Avatar
Odpovídá na Marty
pocitac770:12.6.2018 17:04

Příkaz return kompletně ukončuje metodu, když se zavolá, tak jakoby se vše za nim zahodilo. Tudíž zde to pokračuje dále k return false pouze tehdy pokud podmínka neplatí

 
Odpovědět
12.6.2018 17:04
Avatar
MiroslavP
Člen
Avatar
MiroslavP:27.7.2018 22:13

Další pro mne moc zajímavý krok v mém objevování v Java/ě. Děkuji za názorný výklad. MP. ;-)

 
Odpovědět
27.7.2018 22:13
Avatar
MICHAL ZAJAC
Člen
Avatar
MICHAL ZAJAC:12.12.2018 11:37

NetBeans nevyhlasi chybu pri System.out.prin­tln(u.minimal­nyDelkaHesla); a normalne sa to skompiluje.

 
Odpovědět
12.12.2018 11:37
Avatar
Jiří Mareček:20.2.2019 10:19

Ahoj,

mám jednu otázku: k čemu přesně slouží metoda níže, ve třídě Nastaveni?

private Nastaveni () {
    }

Příjde mi, že metoda nic nedělá a program funguje i po jejím vymazání.

Předem děkuji za objasnění :-)

 
Odpovědět
20.2.2019 10:19
Avatar
Odpovídá na Jiří Mareček
Petr Štechmüller:20.2.2019 10:25

Pokud se nám vyskytne třída, která obsahuje jen pomocné metody nebo nemá smysl od ni tvořit instance (např. nikdy nebudeme mít 2 konzole), hovoříme o ni někdy jako o statické třídě. Java přímo neumožňuje přímo označit třídu jako statickou, ale tvoření její instance zakážeme pomocí implementace privátního konstruktoru. Takovouto třídu poté nelze instanciovat (vytvořit její instanci).

Odpovědět
20.2.2019 10:25
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
ishei
Člen
Avatar
ishei:8.6.2019 9:52

Eclipse statickou metodu nad objektem tridy nabidne i v autocompletion menu, ani nemrkne.

 
Odpovědět
8.6.2019 9:52
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 10 zpráv z 32.