Jag har en fråga om java main (). java main () returnerar ingenting. Per programvaruteknik kallas ett kodblock som inte returnerar någonting en procedur, så varför kallar vi main () för en metod? ska vi istället kalla det huvudproceduren?
Svar
Ska vi kalla
main()
-metoden sommain()
procedur?
Informellt, visst. Det är inget problem med det.
Per programvaruteknik kallas ett kodblock som inte returnerar någonting en procedur.
Även om detta är bra är det inte 100% standard på alla språk och hela programvaruteknik. Procedur är en ganska allmän term och kan användas i olika sammanhang i olika nivåer av abstraktion och generalitet.
Till exempel, i Java-språkspecifikation visas ordet ”procedur” 41 gånger, varav ingen används för att hänvisa till ”funktioner mot metoder mot procedurer”.
Nästan alla användningar av termen ”procedur” i specifikationen hänvisar till en väldefinierad algoritm, oftast specifikt algoritmen för klassinitiering som en komplex, intern och statlig operation av språket & dess körtid, snarare än som något du kan åberopa.
Däremot visas ordet ”metod” 2049 gånger, varav en är ”metod d eklaration ”, så den här termen representerar en syntaktisk och semantisk konstruktion på det språk som programmerare kommer att använda.
Vi kallar main
en metod i Java eftersom det är det det är enligt språkets terminologi — en ”statisk ogiltig metod”. Java-språket erbjuder inte termproceduren som något som kan åberopas eller något liknande en funktion utan returvärde.
Språk definieras vanligtvis av en ganska strikt specifikation. Dessa specifikationer introducerar terminologi för användning i resten av specifikationen, och för tydlighetens skull är sådan terminologi vanligtvis klart definierad. Författarna till ett språk och dess specifikation har privilegiet att omdefiniera vanliga termer med språkspecifika betydelser. De sträcker sig mycket för att använda dessa termer konsekvent inom deras språkspecifikationer. Terminologin som de introducerar i specifikationen brukar användas av programmerare i samband med det programmeringsspråket.
Samma exakta termer kan skilja sig åt mellan två språk. De kan också skilja sig från vanlig, informell användning i stor utsträckning över programmering, där termer inte definieras så strikt som i en språkspecifikation.
Kommentarer
- Erik , Tack för den detaljerade förklaringen. Det är vettigt enligt Java-specifikationer.