IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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í.

Diskuze: Náhrada **final**

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Ondrca
Tvůrce
Avatar
Ondrca:22.10.2013 20:08

Ahoj, mám nastaven ActionListener na JButton a aby mi to uvnitř fungovalo netbeans mi nabízí použít final. Poté to funguje, ale bohužel klíčové slovo final dělá např. String nepřepisovatelným, ale bohužel já ten String potřebuji vždy přepsat.
Nevíte prosím někdo jak by se final dalo nahradit?
Díky moc za rady.

Odpovědět
22.10.2013 20:08
Zase jsem o něco chytřejší
Avatar
brambora
Člen
Avatar
Odpovídá na Ondrca
brambora:22.10.2013 20:10

nijak prostě tam to klíčové slovo final nedávej. Program by ti měl normálně běžet.

 
Nahoru Odpovědět
22.10.2013 20:10
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Ondrca
Kit:22.10.2013 20:13

Nepřepisuj ten String.

Nahoru Odpovědět
22.10.2013 20:13
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Ondrca
Tvůrce
Avatar
Odpovídá na brambora
Ondrca:22.10.2013 20:14

Toto je kód:

but.addActionListener(new ActionListener() {
//jmeno stringu je str
str="Prvni";
            }
        });

Je to také v main method, ale bez final mi ten string bere jako nedeklarovaný.
Nevím proč :(.

Editováno 22.10.2013 20:14
Nahoru Odpovědět
22.10.2013 20:14
Zase jsem o něco chytřejší
Avatar
Ondrca
Tvůrce
Avatar
Odpovídá na Kit
Ondrca:22.10.2013 20:15

Já ten string přepsat potřebuju.

Nahoru Odpovědět
22.10.2013 20:15
Zase jsem o něco chytřejší
Avatar
brambora
Člen
Avatar
Odpovídá na Ondrca
brambora:22.10.2013 20:18

Napiš co ti to píše za chybu, nebo sem dej zdrojový kód. Pak ti snad pomůžu.

 
Nahoru Odpovědět
22.10.2013 20:18
Avatar
mpas
Neregistrovaný
Avatar
Odpovídá na Ondrca
mpas:24.10.2013 7:20

A mas tu promennou "str" definovanou jako instancni? Podle toho co pises to vypada, ze ji mas v main() jako lokalni, protoze jinak by final v anonymni tride listeneru nevyzadoval.

 
Nahoru Odpovědět
24.10.2013 7:20
Avatar
Ondrca
Tvůrce
Avatar
Odpovídá na
Ondrca:24.10.2013 15:24

Mám:

String str = "O";

Jak se nadefinuje jako instanční?
Díky

Nahoru Odpovědět
24.10.2013 15:24
Zase jsem o něco chytřejší
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Ondrca
Kit:24.10.2013 15:34

Instanční znamená, že je atributem objektu a není statická.

Nahoru Odpovědět
24.10.2013 15:34
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
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 9 zpráv z 9.