Klassemetoder i Java | Forklart

Klassemetoder i Java | Forklart
I Java er en metode ikke annet enn en blokk med kode/uttalelse som er erklært i klassen og kan utføre forskjellige handlinger når noen kaller det. Noen metoder kan kalles direkte med navnet sitt (i.e. uten å lage klasseobjektet) mens noen metoder krever forekomst/objekt i klassen (i.e. må påberopes med objektet til klassen).

Metodene som kan kalles direkte blir referert til som en klasse eller statiske metoder, Mens metodene som trenger et objekt av klassen som skal påberopes, blir referert til som forekomst eller ikke-statiske metoder.

Denne oppskrivningen vil presentere en detaljert oversikt over klassemetoder, og i denne forbindelse vil den dekke følgende aspekter av Java-klassemetoder:

  • Hva er en klassemetode
  • Hvordan få tilgang til klassemetoder
  • Hvordan få tilgang til offentlige metoder
  • Hvordan få tilgang til en metode fra en annen klasse

La oss komme i gang!

Klassemetode i Java

Generelt sett, når vi har en klasse, må vi lage et objekt i den klassen for å få tilgang til metodene og andre medlemmer. Imidlertid kan du få tilgang til klasse/statiske metoder inne i klassen uten å lage en forekomst av den klassen.

Hvordan få tilgang til klassemetoder

La oss vurdere det undergitte eksemplet for å forstå hvordan du kan lage og få tilgang til en statisk/klassemetode i Java.

Eksempel

Kodebiten nedenfor tar to tall fra brukeren og utfører tillegg på dem:

offentlig klasse addNumbers
offentlig statisk int tillegg (int num1, int num2)
int add = num1 + num2;
return add;

public static void main (String [] args)
int nummer1, nummer2, sum;
Skannerskanning = ny skanner (system.i);
System.ute.trykk ("Skriv inn 1. nummer:");
nummer1 = skanning.nextInt ();
System.ute.print ("Skriv inn 2. nummer:");
nummer2 = skanning.nextInt ();
sum = tillegg (nummer1, nummer2);
System.ute.println ("sum =" + sum);

Den komplette koden og dens respektive utgang vil være noe sånt:

Fra output ovenfor er det klart at det ikke er behov for å lage objektet til klassen for å kalle en statisk metode i stedet for at den kan nås direkte i klassen.

Hvordan få tilgang til offentlige metoder

La oss nå vurdere eksemplet nedenfor for å teste om en offentlig metode kan nås direkte eller ikke:

offentlig klasse addNumbers
offentlig int tillegg (int num1, int num2)
int add = num1 + num2;
return add;

public static void main (String [] args)
int nummer1, nummer2, sum;
Skannerskanning = ny skanner (system.i);
System.ute.trykk ("Skriv inn 1. nummer:");
nummer1 = skanning.nextInt ();
System.ute.print ("Skriv inn 2. nummer:");
nummer2 = skanning.nextInt ();
sum = tillegg (nummer1, nummer2);
System.ute.println ("sum =" + sum);

All koden er den samme som i forrige eksempel bortsett fra tilgangsmodifisereren, men denne gangen får vi en feil som vist i følgende kodebit:

For å få tilgang til en ikke-statisk funksjon, først må vi lage objektet for klassen, så vil vi kunne få tilgang til metoden for klassen:

Ovennevnte utdrag verifiserer at når vi kaller den ikke-statiske metoden ved hjelp av et klasseobjekt, fungerer det på riktig måte og gir den feilfrie utgangen.

Hvordan få tilgang til en metode fra en annen klasse

Vi har sett at en statisk metode ikke krever at noe objekt blir kalt i samme klasse, men hva som vil skje når vi har flere klasser? Vil den statiske metoden påberopes direkte i et slikt tilfelle? La oss eksperimentere med det!

Eksempel

La oss vurdere at vi har to klasse: en klasse som heter “Addnumbers”Som vil inneholde hovedmetoden og den andre er“Myfunksjoner”Klasse:

Myfunksjoner.Java

pakke addnumbers;
offentlig klasse myfunksjoner
offentlig statisk int tillegg (int num1, int num2)
int add = num1 + num2;
return add;

Addnumbers.Java

offentlig klasse addNumbers
public static void main (String [] args)
int nummer1, nummer2, sum;
Skannerskanning = ny skanner (system.i);
System.ute.trykk ("Skriv inn 1. nummer:");
nummer1 = skanning.nextInt ();
System.ute.print ("Skriv inn 2. nummer:");
nummer2 = skanning.nextInt ();
sum = tillegg (nummer1, nummer2);
System.ute.println ("sum =" + sum);

Vi kaller addisjon funksjon av Myfunksjoner klasse fra hovedmetoden til Addnumbers klasse:

Selv om tilleggsmetoden er statisk, men vi fremdeles får en feil når vi prøver å få tilgang til den direkte. Dette er fordi tilleggsmetoden ikke er i samme klasse. Så for å få tilgang til metoden i en annen klasse må vi lage gjenstand for den klassen uavhengig av tilgangsmodifisereren I.e. statisk eller offentlig.

Addnumbers.Java

offentlig klasse addNumbers
public static void main (String [] args)
int nummer1, nummer2, sum;
Skannerskanning = ny skanner (system.i);
System.ute.trykk ("Skriv inn 1. nummer:");
nummer1 = skanning.nextInt ();
System.ute.print ("Skriv inn 2. nummer:");
nummer2 = skanning.nextInt ();
MyFunctions OBJ = nye myFunctions ();
sum = obj.tillegg (nummer1, nummer2);
System.ute.println ("sum =" + sum);

Denne gangen lager vi gjenstanden for Myfunksjoner klasse i hovedfunksjonen til Addnumbers klasse og så får vi tilgang til addisjon Metode ved hjelp av det objektet:

Nå verifiserer ovennevnte utdrag at feilen har gått, og med hjelp av gjenstanden for myfunksjonsklasse fikk vi de ønskede resultatene.

Konklusjon

Klassen/statisk metode kan nås i klassen direkte mens du får tilgang til de offentlige metodene uten å lage objektet er ikke mulig. I tilfelle av flere klasser vil metodene bare være tilgjengelige ved hjelp av klasseobjekter uavhengig av tilgangsmodifiserer. Denne oppskrivningen gir en omfattende guide for hva som er klassemetoder og hvordan du får tilgang til dem fra samme klasse og fra en annen klasse.