Iniciando objetos já com um valor de atribuito

Seguinte pessoal, eu tenho uma classe chamada Peão, quero que quando eu instancie um objeto, esse objeto receba um valor de atributo começando pelo zero. Assim que o segundo é instanciado, esse segundo fica com o valor do atributo dele valendo 1, o outro peão instanciado vale 2 e assim por diante… Como faço isso?

SUPER CLASSE:

public class Pecas{

char x;// Do a ao g
char y;// Do 0 ao 7

String posição;
int posreal;
String tipo;
public byte Mover(byte x, byte y){

return x;

}
public void posreal(int i) {
posreal = 2;

}
}

CLASSE EXTENDIDA:

public class Peao extends Pecas{

public Peao(){	

tipo="Peão";

posreal=0;[color=red]Quero que cada peão receba esse valor +1... então casa um deles vai ter um valor do atributo posreal diferente.[/color]

}
}

Vc pode setar esse valor usando o construtor da classe e o controle desses números através da classe q instancia os peões…!

Vê se vc descobre como fazer usando isso! ; )

Para você ter esse contador de objetos do tipo Peão (na verdade não vai ser um contador, pois ele não será decrementado quando algum Peão for “deletado” é isso né?) você pode criar um campo estático na classe que em cada vez que ela for instanciada, dentro do contrutor vc incrementa esse contador e atribui a algum outro campo o valor gerado (pois com o passar da execução esse valor será mudado e vc precisa de uma forma de manter esse valor na classe.

Por exemplo

[code]public class Peao {

private static int cont;
private int numero;

public Peao() {
    // guarda o valor de cont em numero (não será alterado)
    numero = cont;
    // incrementa o valor de cont que é um campo estático compartilhado Peao
    cont++;
}

public int getNumero() {
    return numero;
}

public static void main( String[] args ) {
    
    Peao p0 = new Peao();
    Peao p1 = new Peao();
    Peao p2 = new Peao();
    Peao p3 = new Peao();
    
    System.out.println( "numero p0:" + p0.getNumero() );
    System.out.println( "numero p1:" + p1.getNumero() );
    System.out.println( "numero p2:" + p2.getNumero() );
    System.out.println( "numero p3:" + p3.getNumero() );
    
}

}[/code]

http://www.guj.com.br/posts/list/50115.java