webForumDet fria alternativet
Logga in / Bli medlem

Static

Java

3 svar · 320 visningar · startad av Sunix

Medlem sedan juli 2004310 inlägg
Frågan#1

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

Medlem sedan aug. 20039 340 inlägg
#2

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.

Medlem sedan juli 2004310 inlägg
#3

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

Medlem sedan aug. 20039 340 inlägg
#4

Precis!

264 ms totalt · 4 externa anrop · v20260731065814-full.0bc6e834
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)