Cao a tutti, volevo capire perchè il seguente codice java mi da errore
public class a extends b {
public static void main(String[] args) {
Short x = 7;
System.out.println(sum(x, 6));
}
}
class b {
int sum(int x, int y) { return x + y; }
}
Errore di compilazione per la funzione sum. essendo a figlio di b, ed essendo sum pubblico, tale metodo è certamente ereditato da a, ma il compilatore dice che non posso eseguirlo in un consesto statico.. che vuol dire? anche se non ho messo this. il metodo sum dovrebbe appoggiarsi sull'istanza corrente di a. Forse è perchè sono nel main, quindi non esiste un'istanza di a a tempo di esecuzione?