Java -klassemethoden


Java-klassemethoden

Je hebt uit het hoofdstuk Java-methoden geleerd dat methoden binnen een klasse worden gedeclareerd en dat ze worden gebruikt om bepaalde acties uit te voeren:

Voorbeeld

Maak een methode myMethod()met de naam Main:

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }
}

myMethod()drukt een tekst af (de actie), wanneer deze wordt aangeroepen . Om een ​​methode aan te roepen, schrijft u de naam van de methode gevolgd door twee haakjes () en een puntkomma ;

Voorbeeld

Binnen main, bel myMethod():

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

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

// Outputs "Hello World!"


Statisch versus niet-statisch

U zult vaak Java-programma's zien die ofwel staticof public attributen en methoden hebben.

In het bovenstaande voorbeeld hebben we een static methode gemaakt, wat betekent dat deze toegankelijk is zonder een object van de klasse te maken, in tegenstelling tot public, die alleen toegankelijk is voor objecten:

Voorbeeld

Een voorbeeld om de verschillen tussen staticen public methoden aan te tonen :

public class Main {
  // Static method
  static void myStaticMethod() {
    System.out.println("Static methods can be called without creating objects");
  }

  // Public method
  public void myPublicMethod() {
    System.out.println("Public methods must be called by creating objects");
  }

  // Main method
  public static void main(String[] args) {
    myStaticMethod(); // Call the static method
    // myPublicMethod(); This would compile an error

    Main myObj = new Main(); // Create an object of Main
    myObj.myPublicMethod(); // Call the public method on the object
  }
}

Opmerking: u leert meer over deze trefwoorden (modifiers genoemd) in het hoofdstuk Java-modifiers .


Toegangsmethoden met een object

Voorbeeld

Maak een Car-object met de naam myCar. Roep de fullThrottle()en speed() methoden op het myCarobject aan en voer het programma uit:

// Create a Main class
public class Main {
 
  // Create a fullThrottle() method
  public void fullThrottle() {
    System.out.println("The car is going as fast as it can!");
  }

  // Create a speed() method and add a parameter
  public void speed(int maxSpeed) {
    System.out.println("Max speed is: " + maxSpeed);
  }

  // Inside main, call the methods on the myCar object
  public static void main(String[] args) {
    Main myCar = new Main();   // Create a myCar object
    myCar.fullThrottle();      // Call the fullThrottle() method
    myCar.speed(200);          // Call the speed() method
  }
}

// The car is going as fast as it can!
// Max speed is: 200

Voorbeeld uitgelegd

1) We hebben een aangepaste Mainklasse gemaakt met het classtrefwoord.

2) We hebben de fullThrottle()en speed() methoden in de Mainklas gemaakt.

3) De fullThrottle()methode en de speed() methode zullen wat tekst afdrukken wanneer ze worden aangeroepen.

4) De speed() methode accepteert een intparameter genaamd maxSpeed- we zullen deze gebruiken in 8) .

5) Om de Mainklasse en zijn methoden te gebruiken, moeten we een object van de Mainklasse maken.

6) Ga dan naar de main()methode, waarvan je nu weet dat het een ingebouwde Java-methode is die je programma uitvoert (elke code in main wordt uitgevoerd).

7) Door het newtrefwoord te gebruiken hebben we een object gemaakt met de naam myCar.

8) Vervolgens roepen we de fullThrottle()en speed() methoden op het myCarobject aan en voeren het programma uit met de naam van het object ( myCar), gevolgd door een punt ( .), gevolgd door de naam van de methode ( fullThrottle();en speed(200);). Merk op dat we een intparameter van 200 binnen de speed()methode toevoegen.

Onthoud dat..

De punt ( .) wordt gebruikt om toegang te krijgen tot de attributen en methoden van het object.

Om een ​​methode in Java aan te roepen, schrijft u de naam van de methode gevolgd door een reeks haakjes () , gevolgd door een puntkomma ( ;).

Een klasse moet een overeenkomende bestandsnaam hebben ( Mainen Main.java ).



Meerdere klassen gebruiken

Zoals we in het hoofdstuk Classes hebben gespecificeerd , is het een goede gewoonte om een ​​object van een klasse te maken en dit in een andere klasse te openen.

Onthoud dat de naam van het java-bestand moet overeenkomen met de klassenaam. In dit voorbeeld hebben we twee bestanden in dezelfde map gemaakt:

  • Main.java
  • tweede.java

Main.java

public class Main {
  public void fullThrottle() {
    System.out.println("The car is going as fast as it can!");
  }

  public void speed(int maxSpeed) {
    System.out.println("Max speed is: " + maxSpeed);
  }
}

tweede.java

class Second {
  public static void main(String[] args) {
    Main myCar = new Main();     // Create a myCar object
    myCar.fullThrottle();      // Call the fullThrottle() method
    myCar.speed(200);          // Call the speed() method
  }
}

Wanneer beide bestanden zijn gecompileerd:

C:\Users\Your Name>javac Main.java
C:\Users\Your Name>javac Second.java

Voer het bestand Second.java uit:

C:\Users\Your Name>java Second

En de uitvoer zal zijn:

The car is going as fast as it can!
Max speed is: 200