Diskuze: Náhrada **final**

Java Java Náhrada **final**

Avatar
Ondrca
Redaktor
Avatar
Ondrca:

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:

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
Redaktor
Avatar
Odpovídá na Ondrca
Kit:

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
Redaktor
Avatar
Odpovídá na brambora
Ondrca:

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
Redaktor
Avatar
Odpovídá na Kit
Ondrca:

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:

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:

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
Redaktor
Avatar
Odpovídá na mpas
Ondrca:

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
Redaktor
Avatar
Odpovídá na Ondrca
Kit:

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.