En klasse består i utgangspunktet av felt og metoder. I Java kalles egenskaper felt. En metode er en gruppe uttalelser som er kodet sammen for å utføre en oppgave. Vanligvis, for å bruke en klasse i Java, må klassen bli instantiert til et objekt. En klasse er en generell enhet som objekter kan instantieres. Instortering (å lage) et objekt er egentlig ikke en stor sak. Det er en veldig kort prosess der felt i klassen får verdier. Objekter av en klasse skiller seg fra hverandre fordi de har forskjellige verdier for de samme feltnavnene. Metodene for alle objektene og klassen er de samme.
En statisk metode er en metode hvis implementering (definisjon) i en klasseimplementering (definisjon) begynner med det reserverte ordet, statisk. En statisk metode trenger ikke et objekt i et annet for at den skal utføre. På den annen side trenger en ikke -statisk metode et objekt i andre for at den skal utføres - se detaljer nedenfor. I Java påkaller det å ha en ikke-statisk metode metoden; Å ha en statisk metodeutførelse kaller metoden. En konstruktørmetode (ganske enkelt kalt konstruktør) kalles også - se nedenfor.
Denne artikkelen illustrerer hvordan du kan påkalle en ikke-statisk metode og kalle en statisk metode.
Klasse og dets gjenstander
Tenk på følgende klasseimplementering:
klasse aclassNavnet på klassen er aclass. Den har ett felt, STR, som holder en streng bokstavelig talt. Klassen har to metoder: konstruktørmetoden og en metode som returnerer tomrom. Konstruktørmetoden returnerer ikke noe, og navnet er det samme som klassen. Hensikten med konstruktørmetoden er å initialisere noen eller alle feltene med ikke-mangelfulle verdier. Denne konstruktøren initialiserer feltet, STR, med verdien av parameteren (sendt argument).
Metoden for interesse i denne klassen kalles MTHD. Det returnerer tomrom. Kroppen skriver ut verdien på klassens felt. Imidlertid kan denne utskriften bare gjøres i dette tilfellet når et objekt er blitt instantiert fra klassen. Og så, det er objektet som vil gjøre utskriften, i dette tilfellet, gjennom den samme tilsvarende metoden.
En passende hovedklasse for klassen ovenfor er som følger:
public class theclassHovedklassen har hovedmetoden (), som alltid skal være der. I denne Main () -metoden instantierer den første uttalelsen et objekt, kalt OBJ, fra klassen ACLASS. Den bruker operatøren, ny og konstruktørnavnet, med et gitt argument, "sett". “Aclass (“ Seen ”)” betyr å ringe konstruktøren. Med den utføres konstruktørmetoden for å initialisere feltet, STR med "Sett". Andre objekter instantiert fra denne samme klassen, ACLASS, vil initialisere sine egne STR -felt med forskjellige strengverdier. Den andre uttalelsen, i Main () -metoden, påkaller metoden, MTHD (), som nå skriver ut på utgangen,
settstatisk metode
Følgende klasseimplementering er lik den ovennevnte klassen, men den samme metoden av interesse er blitt statisk:
klasse aclassDenne gangen er det ingen konstruktørmetode; Det er ikke behov for det. Konstruktørmetodeparameteren er nå parameteren for metoden for interesse. Metoden for interesse er blitt statisk ved å gå for det reserverte ordet, statisk, i metodeimplementeringen (definisjon).
En passende hovedklasse for klassen ovenfor er:
public class theclassHovedmetoden her har bare en uttalelse. Dette uttrykket (uttalelsen) instantiserer ikke et objekt fra klassen. Den bruker bare klassenavnet, etterfulgt av en prikk, og deretter navnet på den statiske metoden, med sitt argument, "sett". Utgangen fra den statiske metoden er,
settUttrykket, “aclass.mthd ("sett") ", kaller den statiske metoden, mthd (), og påkaller ikke den. En ikke-statisk metode påkalles, mens en statisk metode kalles. En statisk metode fungerer ikke med det instantierte objektet. Det fungerer normalt med klassen (navn).
Statisk metode i hovedklasse
Hovedklassen er ikke instantiert. En metode i hovedklassen må gjøres statisk. Følgende program illustrerer dette:
public class theclassMetoden for interesse er atskilt fra Main () -metoden. Implementeringen må gå foran med det reserverte ordet, statisk. Hovedmetoden () er også statisk. Begge disse statiske metodene kalles, men ikke påkalt. Metoden for interesse kalles med uttrykket,
mthd ("sett");Det er ingen foregående prikk og objekt eller klasse; Fordi både MTHD () og Main () er i samme klasseimplementering. Utgangen er:
settKonklusjon
I C ++ kalles en metode (medlemsfunksjon), og en statisk medlemsfunksjon kalles også. I Java påberopes en ikke-statisk metode, mens en statisk metode kalles. Mange Java -programmerere bryr seg ikke om forskjellen mellom påkalling og ring. Imidlertid bør denne leseren være en Java-programmerer med et bedre bilde ved å bruke Java-ordforrådet på riktig måte: en ikke-statisk metode påberopes, mens en statisk metode kalles. Illustrasjonene er laget ovenfor. Enhver metode i hovedklassen må være statisk. Denne metoden kalles i hovedklassen uten foregående den, med en prikk og objekt eller klasse.