Rezervisana reč: static
Ako je potrebno definisati član klase koji se koristi nezavisno od objekta treba ga označiti kao static.
Primer statične metode je metoda main() - koristimo je bez formiranih objekata !
Metoda main() se poziva pre pravljenja bilo kakvog objekta !
Sve instance neke klase dele ISTU statičku promenljivu.
U nekim knjigama o C#-u naići ćete na ograničenja kao što su:
- Statične metode mogu pozivati SAMO statične metode direktno ( Ipak, možete pozvati i nestatičnu metodu, ali ako je ona u nekom konkretnom objektu ! )
- Statične metode moraju pristupati SAMO statičnim podacima ( ovde možete da koristite podatke koje ste uneli kao konstante)
- NE MOGU se koristiti rezervisane reči this i super (o ovome će biti reči u narednom gradivu)
Možete da to shvatite i ovako:
U C# (i u Javi) ne postoje globalne promjenljive ni funkcije koje nisu metodi neke klase, nego se umesto njih koriste static atributi i metodi. Dakle, static atribut možete posmatrati kao globalnu promenljivu, s tim da joj pristupte sa Klasa.Atribut. Slično važi i za static metod. Static konstruktor služi za inicijalizaciju static atributa neke klase, dok obični konstruktor inicijalizuje non-static, tako da nema preklapanja.