ragazzi scusate perchè magari la risposta è banale però non capisco come mai p e p2 non risultano uguali ( vedi codice )

codice:
public class prova {
	int valore1 ;
	int valore2;
	
	prova(int valore1, int valore2){
		this.valore1=valore1;
		this.valore2=valore2;
	}
	
	public static void main(String arg[]){
		prova p=new prova (1,4);
		prova p2=new prova(1,4);
		
		if (p==p2) System.out.println ( " p e p2 sono uguali " );
		else System.out.println ( " p e p2 non sono uguali " );
	}
}
in output mi dice sempre che non sono uguali