Jag förstår inte modifieraren static.
se här:
class Klass1
{
private static String name;
I testklassen skapas objekten
Klass1 v1 = new Klass1 ( "Första");
Klass1 v2 = new Klass1 ("Andra");
//sen anropas metoderna
v1.print();
v2.print();
VARFÖR ? skrivs bara "Andra" ut från både v1.print() och v2.print()? Om jag tar bort static från klassvariabeln skriver den ut både "Första" och "Andra". Jag har svårt att förstå vad som händer.
------------------
Carina
Du ger inte hela koden men jag antar att du i konstruktorn till Klass1 sätter name.
Eftersom name är statisk så innebär det att det bara finns i ett exemplar för klassen, oberoende av hur många objekt du skapar så existerar det ett och bara ett exemplar av name.
Alltså kommer name först att sättas till "Första" för att sedan ändras till "Andra". När du anropar print() på de två olika objekten så kommer de att skriva ut samma sak eftersom name är samma fält..
Hoppas att du förstår :).
------------------
"To iterate is human, to recurse, divine" - L. Peter Deutch
Tack, sgtpepper. Nu förstår jag modifieraren static.
------------------
Carina