Metodi nella stessa classe
Per invocare un metodo definito nella stessa classe nella quale abbiamo l'invocazione è sufficiente scriverne il nome, non preceduto dal nome della classe o dal nome di un oggetto della classe.
Se il metodo in cui abbiamo l'invocazione è statico anche il metodo invocato deve essere statico.
Vediamo le combinazion:
metodo invocante metodo invocato Permesso?
statico statico si
statico non statico no
non statico statico si
non statico non statico si
class P{
void m1(){
System.out.println("deez");
}
// ERRORE poichè il metodo invocato non è statico ma il metodo da cui si invoca lo è
static void m2(){
m1();
}
}
void m1(){
System.out.println("deez");
}
// ERRORE poichè il metodo invocato non è statico ma il metodo da cui si invoca lo è
static void m2(){
m1();
}
}
class P{
static void m1(){
System.out.println("deez");
}
// ok il metodo invocato non è statico così come il metodo da cui si invoca
void m2(){
m1();
}
}
static void m1(){
System.out.println("deez");
}
// ok il metodo invocato non è statico così come il metodo da cui si invoca
void m2(){
m1();
}
}