Staattiset luokat

Staattisesta luokasta ei voi luoda instanssia (oliota). Kaikkien sen jäsenten tulee myös olla staattisia. Staattisen luokan tekeminen vaatii ainoastaan static -määreen ennen class -avainsanaa.

public static class OmaLuokka
{
	// staattinen muodostin
	static OmaLuokka()
	{
		// tässä voi esim. alustaa jäseniä
	}
}
Staattisen luokan muodostin on esitelty yllä ja se on ainoa muodostin, joka staattisella luokalla voi olla. Muodostinta kutsutaan automaattisesti ennen luokan käyttöä, eikä siihen voi itse vaikuttaa.

Luokan staattiset jäsenet

Luokalla voi olla staattisia jäseniä, vaikkei se itse olisikaan staattinen. Jäsenestä saa staattisen static -määreellä.

public class OmaLuokka
{
	// staattinen kenttä
	private static int kirjoituskerrat = 0;
	// staattinen metodi
	public static void Kirjoita()
	{
		// ...
		kirjoituskerrat++;
	}
}
Staattista jäsentä ei voi kutsua instanssille, vaan sitä täytyy kutsua luokalle

OmaLuokka olio = new OmaLuokka();
olio.Kirjoita();	// ei voi tehdä

// täytyy tehdä näin
OmaLuokka.Kirjoita();
Koska staattiset jäsenet eivät liity mihinkään instanssiin, niissä ei voi käyttää this -viittausta eikä niistä pääse käsiksi ei-staattisiin jäseniin.