Citat:
Ursprungligen postat av
bosscs2
Ok, så om en sk. klass variabel ändras (static) så ändras variabeln även i redan skapta instanser eller berör ändringen bara nästkommande skapade objekt?
Det berör alla objekt, men ändringen sker endast på ett ställe. En klassvariabel lagras inte i objekten. Det svar du fick förklarar det bra, men jag tror du misstolkar det.
Ett test du kan göra som kanske är nyttigt för dig för att få grepp om detta:
Skapa en klass med endast en static-variabel, ex en int med namnet s, och sen en main-metod. Skapa inte några objekt (än). Skriv ut värdet på s, ändra värdet, skriv ut igen. Verkar det fungera bra att använda den här variabeln trots avsaknaden av objekt av din nya klass? Var lagras s? Om du lägger till kod i main och skapar objekt (av din testklass), hur många s finns det då? Ändras antalet? Titta tillbaka på Erkkis svar och fundera.