[ karatas @ 17.01.2007. 09:29 ] @
| Pozdrav!
Dobivam slijedecu gresku u Eclipse-u: Cannot make a static reference to the non-static field temp.
Nije mi bas previse jasno zasto, a evo kako mi kod izgleda:
definicija klase
{
definicija varijabli;
String temp;
definicija main metode
{
ako ovdje pozivam temp varijablu dobivam gore navedenu gresku. why?
}
}
naravno, rjesenje je da pri definicija varijable temp nju deklariram kao static,ali sto ako to ne zelim?
Hvala puno! |
[ Toxter @ 17.01.2007. 09:36 ] @
Zato sto staticki atributi pripadaju klasi, a ne objektu.
Znaci instanciraj objekat pa preko objekta pristupi tom atributu (npr. preko gettera).
[ mikorkns @ 17.01.2007. 10:37 ] @
Ono sto je Toxter rekao:
class Klasa {
private String temp;
public Klasa(String temp) {
this.temp = temp;
}
public static void main(String[] args) {
Klasa objKlasa = new Klasa();
System.out.println(objKlasa.getTemp());
}
}
Pozz.
[ Toxter @ 17.01.2007. 10:47 ] @
Mala ispravka

:
Code:
class Klasa {
private String temp;
public Klasa(String temp) {
this.temp = temp;
}
/**
* Getter for temp
*/
public String getTemp(){
return temp;
}
public static void main(String[] args) {
Klasa objKlasa = new Klasa("neki string");
System.out.println(objKlasa.getTemp());
}
}
[ Java Beograd @ 17.01.2007. 12:36 ] @
Ili, kratko i prosto rečeno:
Ne možeš u static metodi da radiš ne static promenljivama.
Ne static promenljive su promenljive objekta, a static su promenljive klase. (Ovo moraš da razumeš tj. shvatiš, tj. naučiš) Ovo su bazične stvari u OO programiranju)
[ karatas @ 17.01.2007. 13:47 ] @
Hvala puno svima. Skuzio sam u cemu je problem :-)
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.