Programmeren in Java/Methoden

Uit Wikibooks

Programmeren in Java In ontwikkeling. Revisiedatum: onbekend

Inleiding Redelijk ontwikkeld. Revisiedatum: 22 augustus 2008

Installatie In ontwikkeling. Revisiedatum: 26 decemeber 2020

Hulpmiddelen Nog vrijwel niets. Revisiedatum: 26 decemeber 2020
  1. Booleaanse logica Nog vrijwel niets. Revisiedatum: 30 december 2020
  2. Conditionele blokken Goed ontwikkeld. Revisiedatum: 24 april 2021
  3. Lussen Goed ontwikkeld. Revisiedatum: 24 Februari 2021
  4. Methoden Nog vrijwel niets. Revisiedatum: 30 december 2020
  5. Arrays Goed ontwikkeld. Revisiedatum: 30 december 2020
  6. Strings In ontwikkeling. Revisiedatum: 24 november 2007
  7. Exceptions Redelijk ontwikkeld. Revisiedatum: 24 november 2007
  8. Commandoregel-argumenten Goed ontwikkeld. Revisiedatum: 24 Februari 2021
  9. Invoer van een toetstenbord Nog vrijwel niets. Revisiedatum: 24 Februari 2021
  10. Multithreading Nog vrijwel niets. Revisiedatum: 20 januari 2007
  11. GUI In ontwikkeling. Revisiedatum: 24 november 2007
  12. In- & uitvoer In ontwikkeling. Revisiedatum: 24 november 2007
Appendices

Bij het schrijven van code zul je merken dat je vaak dezelfde code schrijft om taken uit te voeren. Methoden laten toe stukjes code die je regelmatig gebruikt, te hergebruiken zodat je ze maar één keer moet schrijven. Daarnaast kun je methoden ook gebruiken om lange code op te splitsen in methoden die elk een probleem oplossen. Dit heeft verschillende voordelen, het kan bijvoorbeeld de leesbaarheid van de code vergroten aangezien iedere methode één probleem oplost en duidelijk is wat iedere functie doet ook omdat je iedere methode een naam kan geven. Als er een fout in de code is kun je makkelijker opzoeken waar de fout ligt en moet je enkel de methode verbeteren die de fout bevat. Methoden worden vaak, vooral in andere programmeertalen, functies genoemd.

Je bent al in contact gekomen met methoden, waaronder de println() methode van System.out. Deze methode is een blok code dat toelaat om een lijn te printen op het scherm.

Methode definiëren en oproepen[bewerken]

Eerste methode[bewerken]

We gaan een eerste methode schrijven in volgend Main klasse.

public class Main {

    public static void main(String[] args) {

    }
}

We definiëren een simpele methode als volgt.

public class Main {

    public static void myFirstMethod() {
        System.out.println("Dit is mijn eerste methode.");
    }

    public static void main(String[] args) {

    }
}

Je gebruikt de sleutelwoorden public static void gevolgd door de naam die je wilt geven aan je methode, hier in dit voorbeeld is dat myFirstMethod. Deze wordt gevolgd door haakjes () met daarna accolades {} die een code block vastleggen. Wat er binnen deze accolades is vermeld is de code die zal worden uitgevoerd wanneer de methode wordt opgeroepen.

Nu hebben we wel een methode gedefiniëerd, we hebben ze nog niet opgeroepen. Je kunt een methode oproepen door simpelweg de naam van de methode te vermelden gevolgd door haakjes (), zoals volgt.

public class Main {

    public static void myFirstMethod() {
        System.out.println("Dit is mijn eerste methode.");
    }

    public static void main(String[] args) {
        myFirstMethod();
    }
}

Met als uitvoer:

Dit is mijn eerste methode.

Een methode meermaals laten uitvoeren, doe je gewoon door het meermaals op te roepen. Je kunt dezelfde methode zoveel keer oproepen als je wilt.

public class Main {

    public static void myFirstMethod() {
        System.out.println("Dit is mijn eerste methode.");
    }

    public static void main(String[] args) {
        myFirstMethod();
        myFirstMethod();
        myFirstMethod();
        myFirstMethod();
    }
}

Bovenstaande zal dus "Dit is mijn eerste methode." vier keer afprinten.

Naamgeving[bewerken]

Meerdere methodes[bewerken]

Je kunt ook zoveel methodes definiëren zoals je wilt.

public class Main {

    public static void myFirstMethod() {
        System.out.println("Dit is mijn eerste methode.");
    }

    public static void mySecondMethod() {
        System.out.println("Dit is mijn tweede methode.");
    }

    public static void myThirdMethod() {
        System.out.println("Dit is mijn derde methode.");
    }

    public static void main(String[] args) {
        myFirstMethod();
        mySecondMethod();
        myThirdMethod();
    }
}

Dit geeft volgende uitvoer:

Dit is mijn eerste methode.
Dit is mijn tweede methode.
Dit is mijn derde methode.

De volgorde dat je ze vermeld maakt niet uit, wel moet je oppassen met de namen van de methodes. Onze simpele methodes mogen niet dezelfde naam hebben, anders weet Java niet welke methode je wilt gebruiken. Later in dit hoofdstuk zul je zien dat je wel dezelfde naam kunt gebruiken, maar dat je wel de regels daarvoor moet volgen.

Methoden oproepen vanuit een andere methode[bewerken]

Je kunt ook methoden oproepen van een andere methode. Zoals bijvoorbeeld het volgende:

public class Main {

    public static void myFirstMethod() {
        System.out.println("Dit is mijn eerste methode.");
        mySecondMethod();
    }

    public static void mySecondMethod() {
        myThirdMethod();
        System.out.println("Dit is mijn tweede methode.");
    }

    public static void myThirdMethod() {
        System.out.println("Dit is mijn derde methode.");
    }

    public static void main(String[] args) {
        myFirstMethod();
    }
}

Dit geeft volgende uitvoer:

Dit is mijn eerste methode.
Dit is mijn derde methode.
Dit is mijn tweede methode.

Natuurlijk heb je al eens een methode opgeroepen vanuit een andere methode. main is namelijk ook een methode. Waar je wel mee moet oppassen is dat je niet in een oneindige lus terecht komt, door bijvoorbeeld een methode een ander methode laten oproepen die dan weer de vorige methode oproept.

public class Main {

    public static void myFirstMethod() {
        System.out.println("Dit is mijn eerste methode.");
        mySecondMethod();
    }

    public static void mySecondMethod() {
        System.out.println("Dit is mijn tweede methode.");
        myFirstMethod();
    }

    public static void main(String[] args) {
        myFirstMethod();
    }
}

Dit geeft volgende uitvoer:

Dit is mijn eerste methode.
Dit is mijn tweede methode.
Dit is mijn eerste methode.
Dit is mijn tweede methode.
Dit is mijn eerste methode.
Dit is mijn tweede methode.
Dit is mijn eerste methode.
Dit is mijn tweede methode.
...

Dit zal telkens dezelfde regels tekst tonen. Als je toch in deze situatie terecht komt kun je dit stoppen door CTRL+c in te drukken als je in de commandoregel werkt of je kunt meestal op stop drukken als je een IDE gebruikt.

Argumenten en Parameters[bewerken]

Return[bewerken]

Overloading[bewerken]

Recursie[bewerken]

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.