Bueno, el problema es que en cada método creas una instancia nueva de la clase prueba, y no trabajas sobre la que realmente quieres... quizás para aclararte un poquito más te convendría el uso de la palabra reservada "this" y cambiar los tres métodos a lo siguiente:
Código:
import javax.swing.JOptionPane;
public class prueba {
int cont;
public void contar(){
this.cont++;
}
public void volver(){
if(JOptionPane.showConfirmDialog(null, "¿Desea imprimir un reporte?", "Imprimir", JOptionPane.YES_NO_OPTION) == 0)
this.mostrar();
else
this.contar();
}
public void mostrar(){
JOptionPane.showMessageDialog(null, "resp: " + this.cont);
}
}
Una vez solucionado esto te falta llamar al constructor desde un método estático (el main) y también poner algún método para interactuar, por ejemplo
Código:
public static void main(blablabla){
Prueba prueba = new Prueba();
for (int i = 0; i< 10; i++)
prueba.volver();
}