SunixMedlem sedan juli 2004307 inlägg
Hej!
Kan någon förklara static på ett enkelt sätt?
Och varför detta funkar som det gör!
class UtskriftsFråga
{
public static void main( String[] a)
{
KalasKlass kk1 = new KalasKlass( "Ettan" );
KalasKlass kk2 = new KalasKlass( "Tvåan" );
kk1.cout();
kk2.cout();
System.out.println( kk1 + " " + kk2 );
} // method - main()
} // class - UtskriftsFråga
class KalasKlass
{
private static String name;
public KalasKlass( String nameIn )
{
name = nameIn;
} // method - KONSTRUKTOR
public void cout()
{
System.out.println( "The name is: " + this );
} // method - cout()
public String toString()
{
return name;
} // method - toString()
} // class – KalasKlass
nitro2k01Medlem sedan aug. 20037 630 inlägg
Variabler som deklareras static lagras så att säga i klassen, vilket betyder att en static är gemensam för alla objekt av klassen.
Variabler som inte är static, så kallade instansvariabler är istället unika för varje instans, eller objekt (Samma sak) av klassen.
Enklare än så går det inte att förklara, men du måste försöka sätta dig in i hur det fungerar.
SunixMedlem sedan juli 2004307 inlägg
Ok då tror jag att jag fattar!
Så om jag skapar flera obejkt av en klass och klassen innehåller en staticvariabel så är denna variabel gemensam för alla instanser/objekt.
Kalle k = new Kalle();
Kalle r = new Kalle();
k.variabel == r.variabel typ
nitro2k01Medlem sedan aug. 20037 630 inlägg