Buonasera

Sto iniziando a studiare Java, ho comprato Thinking in Java seconda edizione e sono al capitolo 2 ..

Ho provato a modificare un esercizio che mi ha dato il libro, ma non riesco a capire perché l'operatore ++ non funziona in un oggetto che ho creato..

Questo é il codice:

codice:
public class ProvaStatic {
	
	static int i = 23;
	
	static void incr(){
		
		ProvaStatic.i++;
	}
	
	public int incr2(int a) {
		
		return a++;
	}
	
	public static void main(String args[]) {
		int l = 32;
		ProvaStatic.incr();
		System.out.println(ProvaStatic.i);
		ProvaStatic agg = new ProvaStatic();
		System.out.println(agg.incr2(l));
	}
	

	
}

Compilo e questo é il risultato:

codice:
Waikiki:~/Documents/Programmazione/Java andreasamo$ javac ProvaStatic.java 
Waikiki:~/Documents/Programmazione/Java andreasamo$ java ProvaStatic
24
32
Waikiki:~/Documents/Programmazione/Java andreasamo$
Il secondo numero dovrebbe essere 33, no?

Infatti se nel codice al posto di

return a++;

metto

return a+1;

funziona.. Perché?

Grazie 1000, illuminatemi se ho fatto qualche fagianata, please..