A statisk metode tilhører klassen og en ikke-statisk metode tilhører et objekt i en klasse. De statiske metodene kan aksesseres direkte fra klassen, mens ikke-statiske metoder (eller instansmetoder som jeg liker å kalle dem) må aksesseres fra en instans.
Når skal en metode være statisk kontra ikke-statisk?
A statisk metode tilhører selve klassen og en ikke-statisk (aka instans) metode tilhører hvert objekt som genereres fra den klassen. Hvis metoden din gjør noe som ikke avhenger av de individuelle egenskapene til klassen, gjør den statisk (det vil gjøre programmets fotavtrykk mindre).
Når vil du bruke en ikke-statisk metode?
En ikke-statisk metode i Java kan få tilgang til statiske metoder og variabler som følger:
- En ikke-statisk metode kan få tilgang til enhver statisk metode uten å opprette en forekomst av klassen.
- En ikke-statisk metode kan få tilgang til enhver statisk variabel uten å opprette en forekomst av klassen fordi den statiske variabelen tilhører klassen.
Når bør du bruke statiske funksjoner?
Når du vil ha en variabel som alltid har samme verdi for hvert objekt i klassen, for alltid og alltid, gjør den statisk. Hvis du har en metode som ikke bruker noen forekomstvariabler eller forekomstmetoder, bør du sannsynligvis gjøre den statisk.
Hva er forskjellen mellom statisk og ikke-statisk felt?
Statiske variabler eller felt tilhører klassen, og ikke til noe objekt i klassen. En statisk variabel initialiseres når klassen lastes under kjøretid. Ikke-statiske felt er forekomstfelt av et objekt. De kan bare nås eller påkalles gjennom en objektreferanse.