Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 11. diel - Statika

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
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
}
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá 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á.

Odpovedať
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

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;
}
Avatar
pocitac770
Tvůrce
Avatar
Odpovedá 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í

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. ;-)

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.

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í :-)

Avatar
Odpovedá 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).

Odpovedať
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.

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 32.