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 static
o 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 Main
classe personalizzata con la class
parola 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 int
parametro chiamato
maxSpeed
- lo useremo in 8) .
5) Per poter utilizzare la Main
classe ei suoi metodi, dobbiamo creare un oggetto della
Main
Classe.
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 new
parola 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()
myCar
myCar
.
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 ( Main
e
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