Metoder i Java

Ibland måste en viss del av koden användas flera gånger i ett Java program. Istället att skriva om kodsatsen gång på gång är det bättre att skapa en så kallad metod. Därefter kan programmet anropa metodens namn de antal gånger som behövs i programmet. En så enkel procedur involverar en anropare och en metod som tillsammans fungerar så här:

  1. En metod anropas och får ett visst argument.
  2. Argumenten tas emot av metoden och därefter utför metoden en viss uppgift.
  3. Metoden returnerar ett resultat.
  4. Programmet tar emot resultatet och fortsätter exekvera sin kod.

Hur skapas metoder?

De kan skapas inom en klass och enligt syntaxen nedan:

public static void aritmetik (parametrar){

Kodsats att exekvera;

}

  • Åtkomstmodifierare – olika sätt att komma åt metoder. Java tillhandahåller fyra olika åtkomsttyper:
    • public – Metoden kan användas från vilken Java klass som helst
    • private – Metoden kan användas enbart inom klassen där metoden definierades
    • protected – Metoden är åtkomlig på paketnivå.
    • default – Standard åtkomst om inte metodens åtkomlighet specificerades.
  • Metodtyp – Java tillhandahåller fyra olika typer av metoder: static, instance, abstract, factory.
  • Returtyp –  Kodsatsens exekvering kan ange ett resultat av olika datatyp till exempel int, double eller string. void innebär att inget resultat skickas tillbaka till programmet.
  • Metodensnamn – Alla metoder har ett namn i små bokstäver.

Fördefinierade metoder

I Java-klassbiblioteken finns ett stort antal av inbyggda metoder så kallade fördefinierade eller på engelska predefined.  Vi kan direkt använda dessa metoder genom att anropa dem i programmet när som helst. Vissa fördefinierade metoder är length(), equals(), compareTo(), sqrt(), etc. När vi anropar någon av de fördefinierade metoderna i vårt program körs en serie koder relaterade till motsvarande metod i bakgrunden som är redan lagrad i biblioteket.

Exempel: Två heltal jämförs mot varandra och metoden i programmet anger det största.

public class Comparation {
    public static void main(String[] args) {
        System.out.print("Det största talet är: " + Math.max(8, 8));
    }
}

I exemplet ovan har tre fördefinierade metoder använts: main(), print(), och max(). Metoderna används direkt utan att fa först deklarerat dem eftersom de är redan fördefinierade

Användare-definierade metoder

Det säger själv att denna typ av metoder definieras inom en klass för att utföra en särskilt uppgift. Till exempel programmet nedan tar emot två heltal och adderar talen. Säg att användaren anger talen 22 och 33. Summan blir då 55:

import java.util.Scanner;
public class Aritmetik {
        // Metod addition skapas
        static void addition(int n1, int n2) {
            int result;
            result = n1 + n2;
            System.out.println(n1 + " + " + n2 + " = " + result);
        }
        public static void main(String[] args) {
            int tal1, tal2;
            Scanner input = new Scanner(System.in);
            System.out.print("Ange det första heltalet: ");
            tal1 = input.nextInt();
            System.out.print("Ange det andra heltalet: ");
            tal2 = input.nextInt();
            // Metoden anropas
            addition(tal1, tal2);
    }
}

Under arbete ……………..