Devo calcolare i 4 output che si ottengono da tale codice, (non riesco a calcolarne 2):
codice:
public class Alfa extends Frazione {
private static int c = 2;
public Alfa(int x, int y) {
super(x, y);
c++;
}
public Alfa(int x) {
this(x - c, x + c);
}
public int X() {
return getDenominatore() - getNumeratore();
}
public static int getStatico() {
return c;
}
}
class Prova {
public static void main(String[] args) {
System.out.println(Alfa.getStatico()); //1
Alfa a = new Alfa(2, 5);
System.out.println(a.X()); //2
a = new Alfa(3);
System.out.println(a.X()); //3
System.out.println(Alfa.getStatico()); //4
}
}
Io sono riuscito a calcolare //1 che mi da 2
//2 che mi risulta essere 3
//3 non lo capisco. Quel this a cosa si riferisce? Il testo mi dice che si dovrebbe riferire all'oggetto che esegue il metodo, ma qui nel codice prova viene creato l'oggetto...
Immagino sia un richiamo per il primo costruttore?
//4 non lo posso calcolare dato che non conosco il risultato del 3//
Mi spiegate come devo interpretare i comandi segnati in rosso?