Metodi di classe Java


Metodi di classe Java

Hai imparato dal capitolo Metodi Java che i metodi sono dichiarati all'interno di una classe e che vengono utilizzati per eseguire determinate azioni:

Esempio

Crea un metodo chiamato myMethod()in Main:

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

myMethod()stampa un testo (l'azione), quando viene chiamato . Per chiamare un metodo, scrivi il nome del metodo seguito da due parentesi () e un punto e virgola ;

Esempio

All'interno main, chiama myMethod():

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

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

// Outputs "Hello World!"


Statico e non statico

Vedrai spesso programmi Java che hanno statico public attributi e metodi.

Nell'esempio sopra, abbiamo creato un static metodo, il che significa che è possibile accedervi senza creare un oggetto della classe, a differenza di public, a cui si può accedere solo dagli oggetti:

Esempio

Un esempio per dimostrare le differenze tra i metodistatic e :public

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
  }
}

Nota: imparerai di più su queste parole chiave (chiamate modificatori) nel capitolo Modificatori Java .


Metodi di accesso con un oggetto

Esempio

Crea un oggetto Car chiamato myCar. Chiama i metodi fullThrottle()e sull'oggetto ed esegui il programma:speed()myCar

// 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

Esempio spiegato

1) Abbiamo creato una Mainclasse personalizzata con la classparola chiave.

2) Abbiamo creato i metodi fullThrottle()e nella classe. speed()Main

3) Il fullThrottle()metodo e il speed() metodo stamperanno del testo, quando vengono chiamati.

4) Il speed() metodo accetta un intparametro chiamato maxSpeed- lo useremo in 8) .

5) Per poter utilizzare la Mainclasse ei suoi metodi, dobbiamo creare un oggetto della MainClasse.

6) Quindi, vai al main()metodo, che ormai sai essere un metodo Java integrato che esegue il tuo programma (viene eseguito qualsiasi codice all'interno di main).

7) Utilizzando la newparola chiave abbiamo creato un oggetto con il nome myCar.

8) Quindi, chiamiamo i metodi fullThrottle()e sull'oggetto ed eseguiamo il programma utilizzando il nome dell'oggetto ( ), seguito da un punto ( ), seguito dal nome del metodo ( e ). Si noti che aggiungiamo un parametro di 200 all'interno del metodo.speed() myCarmyCar.fullThrottle(); speed(200);int speed()

Ricordati che..

Il punto ( .) viene utilizzato per accedere agli attributi e ai metodi dell'oggetto.

Per chiamare un metodo in Java, scrivi il nome del metodo seguito da un insieme di parentesi () , seguito da un punto e virgola ( ;).

Una classe deve avere un nome file corrispondente ( Maine Main.java ).



Utilizzo di più classi

Come abbiamo specificato nel capitolo Classi , è buona norma creare un oggetto di una classe e accedervi in ​​un'altra classe.

Ricorda che il nome del file java deve corrispondere al nome della classe. In questo esempio, abbiamo creato due file nella stessa directory:

  • Main.java
  • Secondo.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);
  }
}

Secondo.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
  }
}

Quando entrambi i file sono stati compilati:

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

Esegui il file Second.java:

C:\Users\Your Name>java Second

E l'output sarà:

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